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