是否可以删除对象上的所有事件侦听器,即使是那些在外部声明的事件,我在http://jsfiddle.net/E5n7g处有以下代码。
我使用内置的
addEventListener()
在“a tag”上添加一个事件,然后我尝试使用jQuery删除它,但是看起来似乎jQuery只能绑定自己绑定的事件。
我之所以这样问,是因为我试图将jQuery与使用Dojo的产品结合使用。当我绑定“click”事件时,它会添加到事件处理程序列表中,但每当我单击该链接时,它会擦除该事件处理程序并且只保留Dojo的完整。
答案 0 :(得分:1)
我发现我使用(并且工作得很好)的一种方法是cloneNode函数。
var new_el = el.cloneNode(true); //true means a deep copy
el.parentNode.replaceChild(new_el,el);
克隆元素时,它不会克隆任何事件。