hmtl代碼: <input type="button" value="按鈕" id="btn"/> <input type="button" value="幹掉第一個按鈕的事件" id="btn2"/> 解綁事件有三種: 註意:用什麼方式綁定事件,就應該用對應的方式解綁事件 1.解綁事件(IE 谷 ...
hmtl代碼:
<input type="button" value="按鈕" id="btn"/> <input type="button" value="幹掉第一個按鈕的事件" id="btn2"/>解綁事件有三種: 註意:用什麼方式綁定事件,就應該用對應的方式解綁事件 1.解綁事件(IE 谷歌 火狐都支持 但是得對於的ON事件) 對象.on事件名字=事件處理函數--->綁定事件 對象.on事件名字=null;
my$("btn").onclick=function () { console.log("我猥瑣"); }; my$("btn2").onclick=function () { //1.解綁事件 my$("btn").onclick=null; };
2.解綁事件(谷歌.火狐支持 IE不支持) 對象.addEventListener("沒有on的事件類型",命名函數,false);---綁定事件 對象.removeEventListener("沒有on的事件類型",函數名字,false);
function f1() { console.log("第一個"); } function f2() { console.log("第二個"); } my$("btn").addEventListener("click",f1,false); my$("btn").addEventListener("click",f2,false); //點擊第二個按鈕把第一個按鈕的第一個點擊事件解綁 my$("btn2").onclick=function () { //解綁事件的時候,需要在綁定事件的時候,使用命名函數 my$("btn").removeEventListener("click",f1,false); };
3.解綁事件(註意這個是ie支持 其他不支持) 對象.attachEvent("on事件類型",命名函數);---綁定事件 對象.detachEvent("on事件類型",函數名字);
function f1() { console.log("第一個"); } function f2() { console.log("第二個"); } my$("btn").attachEvent("onclick",f1); my$("btn").attachEvent("onclick",f2); my$("btn2").onclick=function () { my$("btn").detachEvent("onclick",f1); };
為瞭解決IE與谷歌 火狐的相容:
//解綁事件的相容 //為任意的一個元素,解綁對應的事件 //element 元素 type 事件類型 fnName 事件處理的函數 function removeEventListener(element,type,fnName) { if(element.removeEventListener){ element.removeEventListener(type,fnName,false); }else if(element.detachEvent){ element.detachEvent("on"+type,fnName); }else{ element["on"+type]=null; } }