gpt4 book ai didi

javascript - removeEventListener 未删除

转载 作者:行者123 更新时间:2023-11-30 18:59:55 26 4
gpt4 key购买 nike

<分区>

我一定是忽略了一些东西,因为我的事件监听器没有被删除。我创建了一个小复制品。我没有使用任何功能。 addEventListener 的签名与 removeEventListener 相同。当我发送事件时,我的监听器仍然被触发。

尽管第三个参数在任何现代浏览器中都不是默认值,但我仍然出于调试目的添加了它,但它没有任何区别。

有人可以帮我解决这个问题吗?我错过了什么?

function Foo(){
this.AddComponent();
}

Foo.prototype.AddComponent = function(){
var self = this;

window.addEventListener("OnAdd",self.OnAdd,false);

var ev = new CustomEvent('OnAdd', {
detail: {}
});

window.setTimeout(function(){
console.log('dispatched');
window.dispatchEvent(ev)
},1000);
}

Foo.prototype.OnAdd = function(event){
console.log('I was fired!');

var self = this;
window.removeEventListener("OnAdd",self.OnAdd,false);

// try to fire again, which in theory should not work
var ev = new CustomEvent('OnAdd', {
detail: {}
});

window.dispatchEvent(ev);
}

new Foo();

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