在一些使用了jquery的js调试中,可能我们会需要判断某个元素是否绑定了事件,如果这个元素时使用jquer方式绑定的事件,可以采用如下方法检查它是否绑定了事件。
var tempE = $(“#foo”).data(“events”);
if(tempE){
if(tempE["click"] ){
//your code
}
}
原理:jQuery都将事件缓存起来了,其实也是为了防止内存溢出以及页面unload的时候的速度,也包括多函数触发,方便管理等诸多好处,具体可以参考此文。
jQuery会在window.unload的时候卸载所有绑定过的事件,释放内存的。
嗯,如果是采用传统事件写法,如<a onclick="Test()">这种的就只能判断元素属性是否存在XXX了