代码改变世界

javascrpt绑定事件之匿名函数

2012-12-06 17:42  cczw  阅读(796)  评论(9编辑  收藏  举报

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

下面来实现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);
    }
},false);

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

var t=0;
$(".a").bind("click",function(e){
    t++;
    alert('你摸了我'+t+'下了。最多摸2下哦');
    if(t>=2){
         $(this).unbind(e.type,arguments.callee);
    }
}); 

其他的自己去测吧。