gpt4 book ai didi

Javascript removeEventListener 不工作 - 事件监听器仍然存在

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:49:57 26 4
gpt4 key购买 nike

我已经研究了几种解决方法,但我真的说不出来,我的代码是:

lb = document.body;

if(lb.addEventListener){
lb.addEventListener('keyup',
function(event){
keyPress(event.keyCode)
}, false);
}

//In another function.

if(document.body.removeEventListener){
document.body.removeEventListener('keyup', function(event){event.keyCode}, false);
}

删除代码不起作用,还没有尝试过很多解决方案,但这是我脚本中的最后一件事,我只想完成它。

谢谢大家

最佳答案

当调用 removeEventListener 时,你必须给它一个与 addEventListener 相同的函数实例:

var lb = document.body;

var callback = function(event){
keyPress(event.keyCode)
};

if(lb.addEventListener){
lb.addEventListener('keyup', callback, false);
}

//In another function.

if(document.body.removeEventListener){
document.body.removeEventListener('keyup', callback, false);
}

jQuery 使处理这个问题变得更容易,这要归功于它的 namespaced events feature :

$(lb).on('keyup.my_namespace', function () { ... })

// later

$(lb).off('keyup.my_namespace');

关于Javascript removeEventListener 不工作 - 事件监听器仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16651790/

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