js刪除註冊的事件處理函式
既然能夠註冊事件處理函式,當然也能夠刪除註冊的事件處理函式。
關於註冊事件函式這裡就不多介紹了,具體可以參閱javascript如何註冊事件處理函式一章節。
一.刪除使用控制程式碼方式註冊的事件處理函式:
使用控制程式碼方式刪除事件處理函式方式非常的簡單,如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> window.onload=function(){ var obt=document.getElementById("bt"); var oshow=document.getElementById("count"); var odelete=document.getElementById("delete"); var count=0; obt.onclick=function(){ count=count+1; oshow.innerHTML=count; } odelete.onclick=function(){ obt.onclick=null; } } </script> </head> <body> <div id="count"></div> <input type="button" id="bt" value="檢視效果"/> <input type="button" id="delete" value="刪除事件處理函式"/> </body> </html>
以上程式碼使用obt.onclick=null就可以刪除註冊的事件處理函式。
二.刪除使用addEventListener()和attachEvent()註冊的事件處理函式:
addEventListener()函式和attachEvent()函式可以為指定元素註冊事件處理函式,第一個是符合w3c標準的,IE8以上和谷歌火狐等瀏覽器等標準瀏覽器支援,第二個是IE瀏覽器使用,用來相容IE8和IE8以下瀏覽器。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> var EventUtil={ //註冊 addHandler:function(element, type, handler){ if(element.addEventListener){ element.addEventListener(type, handler, false); } else if (element.attachEvent){ element.attachEvent("on" + type, handler); } else{ element["on" + type] = handler; } }, //移除註冊 removeHandler:function(element, type, handler){ if(element.removeEventListener){ element.removeEventListener(type, handler, false); } else if(element.detachEvent){ element.detachEvent("on" + type, handler); } else{ element["on" + type] = null; } } }; window.onload=function(){ var obt=document.getElementById("bt"); var oshow=document.getElementById("count"); var odelete=document.getElementById("delete"); var count=0; function done(){ count=count+1; oshow.innerHTML=count; } EventUtil.addHandler(obt,"click",done); odelete.onclick=function(){ EventUtil.removeHandler(obt,"click",done); } } </script> </head> <body> <div id="count"></div> <input type="button" id="bt" value="檢視效果"/> <input type="button" id="delete" value="刪除事件處理函式"/> </body> </html>
以上程式碼實現了我們的要求,可以刪除使用addEventListener()函式和detachEvent()函式註冊的事件處理函式,上面的程式碼進行進行了一下封裝,非常的方便,使用的時候直接呼叫就可以了。
相關閱讀:
1.addEventListener()函式可以參閱javascript addEventListener()一章節。
2.attachEvent()函式可以參閱javascript attachEvent()一章節。
相關文章
- javascript刪除註冊的事件處理函式簡單介紹JavaScript事件函式
- js如何批量註冊事件處理函式JS事件函式
- JavaScript 註冊事件處理函式JavaScript事件函式
- JavaScript 批量註冊事件處理函式JavaScript事件函式
- js為按鈕註冊點選事件處理函式JS事件函式
- js批量註冊事件處理函式程式碼例項JS事件函式
- javascript如何移除註冊的事件處理函式JavaScript事件函式
- for迴圈批量註冊事件處理函式事件函式
- js為物件註冊多個事件處理函式程式碼JS物件事件函式
- jQuery如何解綁註冊的事件處理函式jQuery事件函式
- 如何為新增的元素註冊事件處理函式事件函式
- attachEvent()註冊事件處理函式this指向問題事件函式
- jquery註冊事件處理函式常用的幾種方式jQuery事件函式
- jquery為動態新增元素註冊事件處理函式jQuery事件函式
- javascript批量註冊事件處理函式程式碼例項JavaScript事件函式
- jQuery為非同步載入的元素註冊事件處理函式jQuery非同步事件函式
- jQuery為動態新增的按鈕註冊事件處理函式jQuery事件函式
- 使用for語句批量註冊事件處理函式程式碼例項事件函式
- 跨瀏覽器的事件處理函式繫結刪除封裝瀏覽器事件函式封裝
- 公共事件處理函式js庫事件函式JS
- js動態新增一個按鈕並且註冊事件處理函式程式碼例項JS事件函式
- 如何實現為window.onload註冊多個事件處理函式事件函式
- on()方法一次註冊多個事件處理函式程式碼例項事件函式
- jQuery能夠為一個元素註冊多個相同事件處理函式jQuery事件函式
- 如何判斷元素上是否已經註冊指定型別事件處理函式型別事件函式
- javascript封裝相容所有瀏覽器的繫結和刪除事件處理函式JavaScript封裝瀏覽器事件函式
- 批量註冊事件處理函式索引總是最後一個問題解決事件函式索引
- js如何降低事件處理函式的執行頻率JS事件函式
- js 註冊事件物件JS事件物件
- js實現的通用相容低版本IE瀏覽器的事件註冊和刪除JS瀏覽器事件
- 如何給js的onclick事件處理函式傳遞引數JS事件函式
- echarts 繫結事件處理函式Echarts事件函式
- js如何給繫結的事件處理函式傳遞引數JS事件函式
- js 註冊事件的兩種方式詳解,傳統註冊事件與方法監聽註冊事件(addEventListener)JS事件dev
- JS事件處理JS事件
- JavaScript 事件處理函式傳遞引數JavaScript事件函式
- onclick事件處理函式傳遞引數事件函式
- onerror事件處理函式返回false或者true的作用Error事件函式False