0
我想取消使用Javascript在頁面中定義的每個事件處理程序。換句話說,如果頁面先前在許多不同的DOM級別上設置了許多事件偵聽器,則此方法將簡單地刪除它們中的每一個。有沒有辦法在JavaScript中做到這一點?清除每個事件處理程序
我想取消使用Javascript在頁面中定義的每個事件處理程序。換句話說,如果頁面先前在許多不同的DOM級別上設置了許多事件偵聽器,則此方法將簡單地刪除它們中的每一個。有沒有辦法在JavaScript中做到這一點?清除每個事件處理程序
對於清除動態連接到頁面的正文中的元素的所有事件,你可以這樣做:
document.body.innerHTML = document.body.innerHTML;
對於清除附着在窗口對象的事件,你可以這樣做:
window.onscroll = function() {};
等。
這並沒有清除我的測試'document.onmousedown'事件。 – wecsam 2012-01-15 04:30:35
清除附加到文檔對象的事件沒有捷徑。與窗口對象一樣,您需要逐一清除它們,例如'document.onmousedown = function(){}'等等。 – techfoobar 2012-01-15 04:37:58
我不確定這是否可行。如果'innerHTML'本身包含一些'
沒有本地事件列表,看看什麼是綁定到什麼。 JQuery有自己的,如果你想更好的事件管理。
下面是它是如何在JQuery中完成的:
你可以稱它爲各種方式來滿足您的需求:
從那裏,解除綁定很簡單。
來源
2012-01-15 04:12:43 AlienWebguy