jquery - 尽管选择器返回了正确的项目,但删除事件监听器也会删除所有项目

标签 jquery event-handling event-listener

jQuery(document).on('click', 'a[id^="MenuFilterVar_"]', onClickHandler);
jQuery(document).off('click', 'a[title="Special Case Element"]'); 

上面的代码将一个事件附加到在 on() 中满足选择器的元素。但是,当我在后续行中使用 off() 删除事件(这些原始元素中的特殊情况元素)时,它会删除第一行中元素的所有事件。

据我了解,off() 应该只从符合选择器的项目中删除事件。我对on/off的理解是否遗漏了一些东西,或者我的代码有问题?任何帮助,将不胜感激。

最佳答案

我认为如果你改变你的选择器,它应该可以工作。

jQuery('a[id^="MenuFilterVar_"]').on('click', onClickHandler);
jQuery('a[title="Special Case Element"]').off('click');

http://jsfiddle.net/dboots/4rDgP/1/

关于jquery - 尽管选择器返回了正确的项目,但删除事件监听器也会删除所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13633143/

相关文章:

java - 这个 Actor 好吗?

java - 多个按钮和多个监听器执行各种操作 Java Swing

javascript - 下拉字段仅显示可用的唯一整数 Rails

javascript - 使用 mouseover 和 mouseout 显示、隐藏 DIV

C# - 删除事件处理程序 - FormClosing 事件或 Dispose() 方法

iphone - 为什么这个 iPhone 应用程序的 "quote"按钮没有替换 TextView 的 lorem ipsum?

events - 事件监听器是否使用CPU时间

javascript - 如何使用 Chartjs 版本 2.X 设置自定义工具提示事件

javascript - 如何使用颜色选择器作为 HTML 输入元素

javascript - 更改提交的表单中的值和 JQuery 序列化函数