gpt4 book ai didi

javascript - 添加带有多个参数的事件监听器,稍后将其删除

转载 作者:行者123 更新时间:2023-11-30 13:13:12 25 4
gpt4 key购买 nike

这似乎是一个非常受欢迎的问题,但我似乎没有找到任何相关的答案。

我附加了一个事件监听:

window.addEventListener('scroll', fnName, false);

问题是 fnName 需要几个参数,所以我尝试了

window.addEventListener('scroll', (function( e ){
return fnName(e, some, param )
}()), false)

但是 window.removeEventListener 不再工作所以我尝试了:

window.removeEventListener('scroll', (function( e ){
return fnName(e, some, param )
}()), false)

最佳答案

每次声明一个匿名函数时,它都会创建一个新的函数实例。如果要删除现有函数,则需要保留函数实例的副本。

var temp = function () {
fnName(e, some, param);
};
window.addEventListener('scroll', temp, false);
//elsewhere,
window.removeEventListener('scroll', temp, false);

我还应该注意使用

(function (e){
return fnName(e, some, param)
}());

undefined 作为第一个参数立即调用 fnName。我怀疑这是你的意图。

关于javascript - 添加带有多个参数的事件监听器,稍后将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13094638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com