javascript刪除註冊的事件處理函式簡單介紹
本章節將介紹一下如何刪除給元素註冊的事件處理函式。
在眾多的教程中,好像關於註冊事件處理函式的介紹比較多,而關於如何刪除事件處理函式的介紹比較少。
下面就通過程式碼例項介紹一下如何實現此功能。
程式碼例項:
程式碼例項一:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #antzone{ width:200px; height:100px; background-color:green; } </style> <script type="text/javascript"> function addEvent(elem, eventName, handler) { if (elem.attachEvent) { elem.attachEvent("on" + eventName, function(){ handler.call(elem) }); //此處使用回撥函式call(),讓this指向elem } else if (elem.addEventListener) { elem.addEventListener(eventName, handler, false); } } function removeEvent(elem, eventName, handler) { if (elem.detachEvent) { elem.detachEvent("on" + eventName, function(){ handler.call(elem) }); //此處使用回撥函式call(),讓this指向elem } else if (elem.removeEventListener) { elem.removeEventListener(eventName, handler, false); } } window.onload=function(){ var odiv=document.getElementById("antzone"); var oadd=document.getElementById("add"); var odel=document.getElementById("del"); function handler(){ this.style.backgroundColor="red"; } oadd.onclick=function(){ addEvent(odiv,"click",handler); } odel.onclick=function(){ removeEvent(odiv,"click",handler); } } </script> </head> <body> <div id="antzone"></div> <input type="button" id="add" value="註冊事件處理函式"/> <input type="button" id="del" value="刪除事件處理函式"/> </body> </html>
上面的程式碼演示了註冊和刪除事件處理函式的功能,具體不多介紹,具體可以參閱如下文章。
1.事件封裝可以參閱javascript實現的對相容各個瀏覽器事件事件封裝一章節。
2.刪除事件處理函式可以參閱removeEventListener()方法和detachEvent()方法一章節。
程式碼例項二:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #antzone{ width:200px; height:100px; background-color:green; } </style> <script type="text/javascript"> window.onload=function(){ var odiv=document.getElementById("antzone"); var oadd=document.getElementById("add"); var odel=document.getElementById("del"); oadd.onclick=function(){ odiv.style.backgroundColor="blue"; } odel.onclick=function(){ oadd.onclick=null; } } </script> </head> <body> <div id="antzone"></div> <input type="button" id="add" value="註冊事件處理函式"/> <input type="button" id="del" value="刪除事件處理函式"/> </body> </html>
也可以通過簡單的方式將事件控制程式碼設定為null即可,當然那也可以使用第一種方式刪除。
但是通過attachEvent()或者addEventListener()註冊的事件處理函式不能夠使用ele.onclick=null這種方式刪除。
相關文章
- js刪除註冊的事件處理函式JS事件函式
- javascript事件處理函式繫結簡單介紹JavaScript事件函式
- JavaScript 註冊事件處理函式JavaScript事件函式
- JavaScript 批量註冊事件處理函式JavaScript事件函式
- javascript如何移除註冊的事件處理函式JavaScript事件函式
- javascript事件處理函式迴圈批量繫結簡單介紹JavaScript事件函式
- javascript批量註冊事件處理函式程式碼例項JavaScript事件函式
- for迴圈批量註冊事件處理函式事件函式
- js如何批量註冊事件處理函式JS事件函式
- javascript匿名函式簡單介紹JavaScript函式
- jQuery如何解綁註冊的事件處理函式jQuery事件函式
- 如何為新增的元素註冊事件處理函式事件函式
- attachEvent()註冊事件處理函式this指向問題事件函式
- javascript呼叫函式的方式簡單介紹JavaScript函式
- javascript匿名函式的使用簡單介紹JavaScript函式
- jquery註冊事件處理函式常用的幾種方式jQuery事件函式
- javascript call()函式用法簡單介紹JavaScript函式
- javascript trim()函式用法簡單介紹JavaScript函式
- javascript高階函式簡單介紹JavaScript函式
- javascript函式呼叫方式簡單介紹JavaScript函式
- js dom元素事件處理簡單介紹JS事件
- javascript匿名函式的優點簡單介紹JavaScript函式
- javascript delete刪除屬性的注意點簡單介紹JavaScriptdelete
- javascript定時器函式簡單介紹JavaScript定時器函式
- js為按鈕註冊點選事件處理函式JS事件函式
- js批量註冊事件處理函式程式碼例項JS事件函式
- jquery為動態新增元素註冊事件處理函式jQuery事件函式
- javascript建立、讀取或者刪除cookie簡單介紹JavaScriptCookie
- jQuery為非同步載入的元素註冊事件處理函式jQuery非同步事件函式
- jQuery為動態新增的按鈕註冊事件處理函式jQuery事件函式
- javascript陣列的map()函式用法簡單介紹JavaScript陣列函式
- javascript建構函式的繼承簡單介紹JavaScript函式繼承
- javascript封裝相容所有瀏覽器的繫結和刪除事件處理函式JavaScript封裝瀏覽器事件函式
- js為物件註冊多個事件處理函式程式碼JS物件事件函式
- 使用for語句批量註冊事件處理函式程式碼例項事件函式
- javascript函式和變數宣告提前簡單介紹JavaScript函式變數
- javascript函式宣告兩種主要方式簡單介紹JavaScript函式
- javascript非建構函式繼承簡單介紹JavaScript函式繼承