javascrpt绑定事件之匿名函数无法解除绑定问题

  经常听到有人说,匿名函数绑定事件不好控制啊,无法解除绑定啊等等等等,一直很奇怪谁说的不能解除绑定。

  下面来实现click事件2次后,自动解除绑定。

  看代码

  

复制代码 代码如下:

  var dom=document.getElementById("test"),clickt=0;

  dom.addEventListener("click",function(e){

  clickt++;

  alert('你摸了我'+clickt+'下了。最多摸2下哦');

  if(clickt>=2){

  this.removeEventListener(e.type,arguments.callee,false);

  }

  });

  很多扩展库,比如jquery都可以如此来实现自定义解除绑定:

  

复制代码 代码如下:

  var t=0;

  $(".a").bind("click",function(e){

  t++;

  alert('你摸了我'+t+'下了。最多摸2下哦');

  if(t>=2){

  $(this).unbind(e.type,arguments.callee);

  }

  });

  其他的自己去测吧。