2017-08-03 32 views
0

我正在寻找一个拥有30-40个JavaScript的庞大代码库,包括做各种各样的东西,包括连接事件。如何断开滚动事件中的所有处理程序?

我期待以编程方式断开scroll事件(窗口或文档)的任何处理程序。最好从F12工具的控制台选项卡中找到。

这是可能的JavaScript?

回答

1

您可能已经发现您不能使用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事件。

相关问题