gpt4 book ai didi

javascript - 删除的 EventListener 仍然触发

转载 作者:行者123 更新时间:2023-11-30 08:50:05 24 4
gpt4 key购买 nike

我有这样一个事件:

var CountDemKeys;
document.body.addEventListener('keypress', function() {
CountDemKeys++;
if (CountDemKeys % 10 === 0) {
alert("WOO HOO!");
}
});

在一个单独的函数中:

RemoveShizzle = function() {
document.body.removeEventListener('keypress');
};

但事件仍然触发:(

注意:我还尝试将事件设置为null:document.body.addEventListener('keypress', null);

document.body.addEventListener('keypress', null);

没有快乐...

最佳答案

您必须将与第二个参数相同的函数传递给 removeEventListener

可能有其他监听器附加到 body 元素的 'keypress'

因此,在不提供原始函数的情况下,removeEventListener 不知道要删除哪个监听器。

var CountDemKeys;
var listener = function() {
CountDemKeys++;
if (CountDemKeys % 10 === 0) {
alert("WOO HOO!");
}
};
document.body.addEventListener('keypress', listener);

RemoveShizzle = function() {
document.body.removeEventListener('keypress', listener);
};

关于javascript - 删除的 EventListener 仍然触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18654004/

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