如何仅使用Javascript解除添加到窗口的滚动事件的绑定

How to unbind a scroll event added to the window only using Javascript?

本文关键字:窗口 滚动 事件 绑定 添加 何仅使 Javascript      更新时间:2023-09-26

我已经使用下面的代码为窗口添加了一个滚动事件。

window.onscroll=function () {

如何解除绑定这个滚动事件添加到窗口只使用Javascript?

VRFP的答案有点不正确。事件侦听器应该以'scroll'作为事件添加和删除,如下所示:

window.addEventListener('scroll', myFunction, false);
window.removeEventListener('scroll', myFunction, false);

函数可以是表达式也可以是声明,这无关紧要。只需要注意函数提升。

函数表达式:

var myFunction = function() {
   /* do something here */
};

函数声明:

function myFunction() {
   /* do something here */
};

使用

var myFunction = function (event) {
   /* do something here */
};
window.addEventListener('onscroll', myFunction, false )
window.removeEventListener('onscroll', myFunction, false)
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener