gpt4 book ai didi

javascript - 如何使用 forEach 删除事件监听器

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

如何在 forEach 循环中创建事件监听器后删除事件监听器? forEach 循环立即运行,我必须确定是否应删除事件的条件立即运行。

function play(){
let arr = document.querySelectorAll(".box");
let remove = false;
arr.forEach((value,index)=> {
value.addEventListener("click", () => {
remove = true;
});
}
if(remove === true){
arr.forEach((value, index)=>{
value.removeEventListener("click", ()=>{

});
})
}
}

最佳答案

removeEventListener 需要使用与 addEventListener 相同的函数调用。您不能使用匿名函数,因为每个实例都是一个不同的函数。定义一个命名函数并使用它。

function myClickHandler() {
remove = true;
}
arr.forEach(value => value.addEventListener("click", myClickHandler));
if (remove) {
arr.forEach(value => value.removeEventListener("click", myClickHandler);
}

关于javascript - 如何使用 forEach 删除事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49092770/

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