javascript取消點(diǎn)擊事件的方法:如果是使用onclick方式綁定的事件,那么可以刪除事件處理程序,從而實(shí)現(xiàn)取消點(diǎn)擊事件,如【btn.onclick=null;】。
本文操作環(huán)境:windows10系統(tǒng)、javascript 1.8.5、thinkpad t480電腦。
我們知道在javascript中事件分為DOM0級和DOM2級,如果是使用onclick方式綁定的事件,那么我們可以刪除事件處理程序,從而實(shí)現(xiàn)取消點(diǎn)擊事件。
btn.onclick=null;//刪除事件處理程序
如果使用addEventListener()方法添加事件,可以通過removeEventListener()移出事件,需要注意兩點(diǎn):
1、removeEventListener()的第三個參數(shù)必須和addEventListener()方法的第三個參數(shù)一致。
2、通過addEventListener()方法添加的匿名函數(shù)將無法移除。
btn.aaddEventListener('click',function(){alert(1);},false); btn.removeEventListener('click',function(){alert(1);},false);//沒有用!
aaddEventListener和removeEventListener看似傳入了相同的參數(shù),但實(shí)際上removeEventListener的第二個參數(shù)與aaddEventListener的第二個參數(shù)是完全不同的函數(shù)!
想要移出必須這樣:
var fn=function(){ alert(1); }; btn.aaddEventListener('click',fn,false); btn.removeEventListener('click',fn,false);//有效
推薦學(xué)習(xí):javascript視頻教程