0
我想取消使用Javascript在页面中定义的每个事件处理程序。换句话说,如果页面先前在许多不同的DOM级别上设置了许多事件侦听器,则此方法将简单地删除它们中的每一个。有没有办法在JavaScript中做到这一点?清除每个事件处理程序
我想取消使用Javascript在页面中定义的每个事件处理程序。换句话说,如果页面先前在许多不同的DOM级别上设置了许多事件侦听器,则此方法将简单地删除它们中的每一个。有没有办法在JavaScript中做到这一点?清除每个事件处理程序
对于清除动态连接到页面的正文中的元素的所有事件,你可以这样做:
document.body.innerHTML = document.body.innerHTML;
对于清除附着在窗口对象的事件,你可以这样做:
window.onscroll = function() {};
等。
这并没有清除我的测试'document.onmousedown'事件。 – wecsam 2012-01-15 04:30:35
清除附加到文档对象的事件没有捷径。与窗口对象一样,您需要逐一清除它们,例如'document.onmousedown = function(){}'等等。 – techfoobar 2012-01-15 04:37:58
我不确定这是否可行。如果'innerHTML'本身包含一些'
没有本地事件列表,看看什么是绑定到什么。 JQuery有自己的,如果你想更好的事件管理。
下面是它是如何在JQuery中完成的:
你可以称它为各种方式来满足您的需求:
从那里,解除绑定很简单。
来源
2012-01-15 04:12:43 AlienWebguy