經常聽到有人說,匿名函數綁定事件不好控制啊,無法解除綁定啊等等等等,一直很奇怪誰說的不能解除綁定。
下面來實現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); } });
其他的自己去測吧。