javascript - 有没有办法删除 jQuery 中的所有命名空间绑定(bind)?

标签 javascript jquery events bind jquery-events

我有一些简单的代码,例如:

$('#modal-buttons [href*=close]').bind('click.modalClose',function(){
  app().modal('close')
});

但是假设我不知道 click.modalClose 将在任何地方绑定(bind),有没有办法销毁所有这些特定绑定(bind),无论元素是什么,而不必执行以下操作?

$('#modal-buttons [href*=close],.someOtherelement,#onemore,.another').unbind('click.modalClose');

最佳答案

要摆脱所有绑定(bind),只需执行以下操作:

$('*').unbind('click.modalClose');

这样就可以得到所有的了。或者,您可以确保绑定(bind)始终通过您自己的 API 进行,然后您可以跟踪哪些元素实际受到影响。 (但是,如果您打算将处理程序与它们所绑定(bind)的所有元素解除绑定(bind),我看不出有什么意义,除非您的页面规模很大并且 $('*') 事情花费的时间太长了。)

关于javascript - 有没有办法删除 jQuery 中的所有命名空间绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4868916/

相关文章:

javascript - mongo/mongoid MapReduce 批量插入文档

jquery - 使用 jQuery 像 Stack Overflow 一样悬停的标签

spring - ContextRefreshedEvent、ContextStartedEvent、ContextStoppedEvent 和 ContextClosedEvent 有什么区别

c# - 使用 Rx,每 60 秒获取最后一次触发的事件

javascript - 仅在使用该变量的 block 内为使用 var 语句声明的变量赋值是否有意义?

javascript - 在 JavaScript 中获取剩余月数、周数和天数

javascript - 为什么 "2016-02-16"不等于 "2016-02-16 00:00"?

javascript - 为什么滑动效果后div内容跳转

jquery - 如何同时左右浮动

c++ - 如何在 Win32 应用程序中控制焦点?