匿名関数バインディング イベントは制御が難しい、バインドを解除できない、などという話をよく聞きます。私は、イベントをバインド解除できないと誰が言ったのか、いつも驚きました。
以下はクリックイベントが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 回タッチしてください');
$(this).unbind (e.type ,arguments.callee);
}
});
他のものは自分でテストしてください。