js 如何移除一个匿名函数的绑定事件

大家都知道 addEventListener的用法 绑定事件

例如

element.addEventListener(type,handler,false);

 

element是dom元素 type是事件比如click handler 是一个函数表达式,false 代表是冒泡阶段 true是捕获阶段

如果移除事件的话 这样写:

element.removeEventListener(type,handler);

 

如果handler是个匿名函数呢

比如

element.addEventListener(type,function(){

},false);

 

这样是不是就没有办法移除了呢

当然可以的

可以把条件设置在匿名函数里面进行

代码如下:测试成功

var dom=document.getElementById("content"),clickt=0;
dom.addEventListener("click",function(e){
clickt++;
alert('你摸了我'+clickt+'下了。最多摸2下哦');
if(clickt>=2){
dom.removeEventListener(e.type,arguments.callee,false);
console.log(this);
}
}); 

 

posted @ 2017-04-27 20:11  实现丰盛  阅读(10936)  评论(0编辑  收藏  举报