我该如何移除这个事件监听器?我尝试了以下代码,但似乎没有任何效果。
我尝试添加了
class Tag {
constructor(name){
this.tag = document.createElement(name);
}
removeEvent(e,func){
this.tag.removeEventListener(e,func,false);
}
addEvent(e,func) {
this.tag.addEventListener(e,func,false);
}
}
let tag = new Tag();
tag.addEvent('click',(e)=> {
console.log('something');
});
如何使removeEvent工作?请帮忙,我需要知道如何引用匿名函数。因为这个是有效的。
function handler(e){
// code for event
}
tag.addEventListener('click',handler,false);
tag.removeEventlistener('click',handler,false);
我尝试添加了
标签。
removeEvent(e,func) {
func.ref = function (){
return arguments.callee;
}
this.tag.removeEventListener(e,func.ref,false);
}
现在我们将引用func.ref作为函数引用,但它目前无法正常工作。
removeEventListener
。 - Thiattoff()
方法附加到这个jQuery.event.remove()
,然后做其他事情。最终,它以你尝试的removeEventListener()
调用结束。不过,句柄来自privData
,所以我猜他们在某个地方保持引用,这样它就可以稍后传递。 - Jared Farrish