如果有一个小的jsfiddle示例:https://jsfiddle.net/skmqjwt7/
我有多个事件监听器。所有人都收听同一事件(在小提琴示例中单击button.a)。现在,我想断开一个事件侦听器的连接,但我不想(!)断开所有事件侦听器的连接,然后重新连接我要保留的事件监听器。
我有多个类,它们具有一些事件侦听器,并且我只想断开一个类的事件侦听器。
class a{
...stuff
$('#main').on('bla', function(e){
...stuff
});
}
class b{
...stuff
$('#main').on('bla', function(e){
...stuff
});
function disconnectMe()
{
//disconnect B on('bla')
}
}
类B不知道A(或可能监听该事件的任何其他类)。所以我只想删除B的事件侦听器,同时使所有其他类的事件侦听器保持活动状态。
我无法处理这个问题,例如:
$('#main').off(); a.reconnect(); c.reconnect();
在我的情况下,类B只是从后端获取数据,并决定停止自行监听事件。
这可能吗?在我目前的情况下,$(document)上触发了一个自定义事件,其他任何javascript类都可以监听,但是我不知道如何仅删除一个监听器。
如果有一个小的jsfiddle示例:https://jsfiddle.net/skmqjwt7/我有多个事件监听器。所有人都收听同一事件(在小提琴示例中单击button.a)。现在我想断开一个...
unbind()方法是jQuery中的内置方法,用于删除任何选定的事件处理程序。此方法可用于删除特定的事件处理程序,或停止特定的功能。它适用于使用事件对象的任何事件处理程序。