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); } });