我有以下代码添加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的参数不是对先前附加的函数对象的引用。
removeEventListener
function foo(event) { app.addSpot(event.clientX,event.clientY); app.addFlag = 1; } area.addEventListener('click',foo,true); area.removeEventListener('click',foo,true);