js 如何移除一个匿名函数的绑定事件
2018-01-03 本文已影响446人
bo_bo_bo_la
大家都知道 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);
}
});