[英]How to disconnect all handlers from the scroll event?
我正在查看一個包含 30-40 個 JavaScript 的巨大代碼庫,包括做各種事情,包括掛鈎事件。
我希望以編程方式斷開scroll
事件(窗口或文檔)的任何處理程序。 最好從F12工具中的控制台選項卡。
在 JavaScript 中可能嗎?
您可能已經發現不能使用removeEventListener
,因為您需要知道哪個函數是要分離的事件處理程序。
但是您可以在addEventListener
周圍創建一個包裝器,因此當它被調用時,您不會將其轉換為對真正的addEventListener
方法的調用。
您可以將此script
元素放在head
部分,在任何包含庫的script
標記之前:
<script>
window.origAddEventListener = window.addEventListener;
window.addEventListener = function (type, f, options) {
if (type === "scroll") return; // do not add the listener
window.origAddEventListener(type, f, options);
};
</script>
您可以為document.addEventListener
做類似的事情。
通過這種方式,您可以防止為window
(或document
)元素上的scroll
事件注冊事件處理程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.