我想删除给定事件类型的所有处理程序。假设我已经向按钮添加了两次“onclick 事件”,现在我想返回到没有为按钮设置事件处理程序的原始状态。
我该怎么做?
P.S.:我找到了 removeEventListener(非 IE)/detachEvent(IE)方法,但是函数要我将处理事件的函数作为参数传递,这在我看来很笨拙,因为我必须存储在某处发挥作用。
编辑:http://ejohn.org/blog/flexible-javascript-events/ - 我现在正在使用这段代码
最佳答案
使用 jQuery 或类似框架来管理所有事件处理程序可能是个好主意。 这将为您提供易于使用、不显眼的功能来添加和删除事件处理程序:
$(...).on('click', function() { ... });
$(...).off('click');
// or, to unbind all events:
$(...).off();
关于javascript - 是否可以删除 javascript 中给定元素的所有事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2837542/