删除DOM对象上的所有事件侦听器

时间:2014-04-10 02:15:42

标签: javascript jquery dojo

是否可以删除对象上的所有事件侦听器,即使是那些在外部声明的事件,我在http://jsfiddle.net/E5n7g处有以下代码。

我使用内置的

addEventListener() 

在“a tag”上添加一个事件,然后我尝试使用jQuery删除它,但是看起来似乎jQuery只能绑定自己绑定的事件。

我之所以这样问,是因为我试图将jQuery与使用Dojo的产品结合使用。当我绑定“click”事件时,它会添加到事件处理程序列表中,但每当我单击该链接时,它会擦除​​该事件处理程序并且只保留Dojo的完整。

1 个答案:

答案 0 :(得分:1)

我发现我使用(并且工作得很好)的一种方法是cloneNode函数。

var new_el = el.cloneNode(true); //true means a deep copy
el.parentNode.replaceChild(new_el,el);

克隆元素时,它不会克隆任何事件。