如果我不知道用于创建此处理程序的原始选择器,请删除事件处理程序

时间:2015-11-19 14:46:51

标签: javascript jquery javascript-events

我想从元素中取消绑定事件处理程序。

处理程序是由第三方插件创建的,我不想要它产生的行为。

如果我错了,请纠正我但是'关闭()'和' unbind()'函数只能与原始选择器一起使用。

问题是我不知道这个选择器,或者这个选择器将来可能会改变。

如何在不使用原始选择器的情况下删除事件处理程序?

2 个答案:

答案 0 :(得分:0)

如果要删除或更新元素的事件处理程序,则必须使用某种方式识别或引用该元素。否则你有效地试图说“删除按钮的事件处理程序,但我不会告诉你哪一个”。

或者,您可以尝试使用不执行任何操作的函数来覆盖处理程序本身。

答案 1 :(得分:0)

文档http://api.jquery.com/off/提到了一个不使用原始选择器的示例。

不使用选择器进行调用将删除与事件/命名空间匹配的所有处理程序。

如果您可以使用事件名称和/或命名空间来定位处理程序,则无需知道选择器。