有沒有辦法暫時禁用事件偵聽器?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