2011-02-01 62 views
2

我有一些简单的代码,如:有没有办法在jQuery中删除所有名称空间的绑定?

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

但是,假设我不知道到处click.modalClose将被绑定,是有办法摧毁所有这些特定的绑定的无论什么元素,而不是做

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

回答

6

为了摆脱所有绑定,只是做:

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

这将得到他们所有人。或者,您可以确保绑定始终通过您自己的API进行,然后您可以跟踪哪些元素实际受到影响。 (但是,如果要解除处理程序与所有绑定的元素的绑定,除非页面具有史诗般的比例并且时间过长,否则我看不到这一点。)

+0

不,我只是想找到一个很好的DRY解决方案,并且我想``('*')`但是认为它可能是一件繁重的任务,但是再一次,它只是解除事件没有动画或任何东西。 – 2011-02-01 23:10:58

相关问题