Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法删除jQuery中所有的命名空间绑定?_Javascript_Jquery_Events_Bind_Jquery Events - Fatal编程技术网

Javascript 有没有办法删除jQuery中所有的命名空间绑定?

Javascript 有没有办法删除jQuery中所有的命名空间绑定?,javascript,jquery,events,bind,jquery-events,Javascript,Jquery,Events,Bind,Jquery Events,我有一些简单的代码,如: $('#modal-buttons [href*=close]').bind('click.modalClose',function(){ app().modal('close') }); 但是假设我不知道单击.modalClose将绑定到哪里,有没有一种方法可以销毁所有这些特定绑定,而不管元素是什么,而不必执行以下操作 $('#modal-buttons [href*=close],.someOtherelement,#onemore,.another').un

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

$('#modal-buttons [href*=close]').bind('click.modalClose',function(){
  app().modal('close')
});
但是假设我不知道单击.modalClose将绑定到哪里,有没有一种方法可以销毁所有这些特定绑定,而不管元素是什么,而不必执行以下操作

$('#modal-buttons [href*=close],.someOtherelement,#onemore,.another').unbind('click.modalClose');
要摆脱所有绑定,只需执行以下操作:

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

那会得到所有的。或者,您可以确保绑定总是通过您自己的API进行,然后您可以跟踪哪些元素实际受到影响。(如果你要解除处理程序与它们绑定到的所有元素的绑定,但是,我看不出有什么意义,除非你的页面是史诗般的,而且
$('*')
事情需要太长时间。)

不,我只是想找到一个很好的干法解决方案,我考虑过
$('*')
,但我认为这可能是一项很繁重的任务,但话说回来,它只是解除绑定事件,没有动画或任何东西。所有浏览器(即使是老式的)都支持
getElementsByTagName(“*”)
,因此真正的担忧可能是页面大小的函数。如果它们不是超大型的,那么解绑可能不会花费明显的时间。