事件處理程序分為DOM0級和DOM2級,如果是用onclick方式綁定的事件可以用如下方法取消:
1 btn.onclick=null;//刪除事件處理程序
如果使用addEventListener()方法添加事件,可以通過removeEventListener()移出事件,需要注意兩點:
1.removeEventListener()的第三個參數必須和addEventListener()方法的第三個參數一致。
2.通過addEventListener()方法添加的匿名函數將無法移除。
1 btn.aaddEventListener('click',function(){alert(1);},false); 2 btn.removeEventListener('click',function(){alert(1);},false);//沒有用!
aaddEventListener和removeEventListener看似傳入了相同的參數,但實際上removeEventListener的第二個參數與aaddEventListener的第二個參數是完全不同的函數!
想要移出必須這樣
1 var fn=function(){ 2 alert(1); 3 }; 4 btn.aaddEventListener('click',fn,false); 5 btn.removeEventListener('click',fn,false);//有效