javascript - 是否可以删除 javascript 中给定元素的所有事件处理程序?

标签 javascript events

我想删除给定事件类型的所有处理程序。假设我已经向按钮添加了两次“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/

相关文章:

javascript - Meteor JS 模板事件使用 jquery 替换文本

javascript - babel-preset-es2015 和 babel-preset-env 有什么区别?

javascript - AWS lambda : Is there a benefit to using an async handler function for the Node runtime?

javascript - “变量”在定义之前被使用

javascript - 了解语言混合

javascript - d3.js 强制取消拖动事件

javascript - 将多个操作绑定(bind)到事件监听器时的性能问题

c# - c#中event关键字的使用

javascript - ForEach 在 Javascript 中跳过条目?

c# - CheckedListBox 事件 *after* CheckState 更改