JavaScript removeEventListener不起作用

我有以下代码添加eventListener

 area.addEventListener('click',function(event) {

app.addSpot(event.clientX,event.clientY);

app.addFlag = 1;

},true);

它按预期方式正常工作。.稍后在另一个功能中,我尝试使用以下代码删除事件侦听器

 area.removeEventListener('click',function(event) {

app.addSpot(event.clientX,event.clientY);

app.addFlag = 1;

},true);

但是偶数监听器没有被删除..为什么会发生?removeEventListener()是否有问题?注意:此处区域类似于document.getElementById(’myId’)

回答:

这是因为两个匿名函数是完全不同的函数。您removeEventListener的参数不是对先前附加的函数对象的引用。

function foo(event) {

app.addSpot(event.clientX,event.clientY);

app.addFlag = 1;

}

area.addEventListener('click',foo,true);

area.removeEventListener('click',foo,true);

以上是 JavaScript removeEventListener不起作用 的全部内容, 来源链接: utcz.com/qa/398808.html

回到顶部