有没有办法暂时禁用事件侦听器?jQuery/Javascript暂时禁用addEventListener/attachEvent附加的事件
就我而言,我有一个第三方库(不 jQuery的中心),使用的addEventListener /的attachEvent元素上创建鼠标悬停/鼠标移开事件。
在某些情况下,另一个事件触发不同的元素,我需要禁用这些事件侦听器。到目前为止,我的解决方案一直是简单地使用鼠标悬停/鼠标悬停的unbind
。这通常工作正常,因为该事件通常会导致页面刷新。
但是,每隔一段时间都会出现一个错误(认为验证错误),导致页面不刷新,并且需要重新附加mouseover/mouseout事件侦听器。
有用信息
这也许值得一提的是,因为在创建鼠标悬停/ mouseout事件侦听器和第三方库中的连接,我不能简单地将事件指派给一个变量,并绑定/以这种方式解除绑定(AFIK是做这件事的最好方法)。
更新
我原本问
是否有jQuery的办法让已经分配给对象的事件侦听器?
我后来发现它是不可能通过的addEventListener /的attachEvent分配访问事件:Access events added with attachEvent()/addEventListener() in JavaScript
我应该提到最初附加mouseover/mouseout事件监听器的库不是一个jQuery插件,而是使用本地addEventListener/attachEvent。 – xzyfer 2011-03-02 00:40:35
我的歉意,我更新了这个问题来陈述它。 – xzyfer 2011-03-02 00:42:41
啊,好的。我的回答可能仍会帮助来自Google的用户,所以我会放弃它。你是否试图禁用所有*事件监听器,或者只是其中的一部分? – Emmett 2011-03-02 00:47:21