封裝javascript事件處理函式繫結和解綁程式碼
javascript事件處理函式的繫結和解綁都是常見的操作,還有相關的阻止事件冒泡等。
下面就分享一段程式碼例項,它實現了相關的封裝。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼var EventUtil = { addHandler:function(elem,type,handler){ if(elem.addEventListener){ elem.addEventListener(type,handler,false); }else if(elem.attachEvent){ elem.attachEvent("on"+type,handler); }else{ elem["on"+type]=handler; } }, removeHandler:function(elem,type,handler){ if(elem.removeEventListener){ elem.removeEventListener(type,handler,false); }else if(elem.detachEvent){ elem.detachEvent("on"+type,handler); }else{ elem["on"+type]=null; } }, getEvent:function(event){ return event?event:window.event; }, getTarget:function(event){ return event.target||event.srcElement; }, preventDefault:function(event){ if(event,preventDefault){ event.preventDefault(); }else{ event.returnValue = false; } }, stopPropagation:function(event){ if(event.stopPropagation){ event.stopPropagation(); }else{ event.cancelBubble=true; } } };
上面的程式碼實現封裝效果,下面對程式碼進行一下簡單介紹:
(1).EventUtil.addHandler(elem,type,handler),elem是要繫結事件處理函式的元素,type是事件處理函式的型別,不能加on,例如click事件,不能寫成onclick,handler規定事件處理函式。
(2).EventUtil.removeHandler(elem,type,handler),elem要解綁的元素,type事件處理函式型別,第三個是事件處理函式。
(3).EventUtil.getEvent(event),獲取相容所有瀏覽器的事件物件。
(4).EventUtil.getTarget(event),獲取觸發事件的物件元素。
(5).EventUtil.preventDefault(event),阻止預設動作。
(6).EventUtil.stopPropagation(event),阻止事件冒泡行為。
相關文章
- javascript封裝相容所有瀏覽器的繫結和刪除事件處理函式JavaScript封裝瀏覽器事件函式
- 跨瀏覽器的事件處理函式繫結刪除封裝瀏覽器事件函式封裝
- echarts 繫結事件處理函式Echarts事件函式
- javascript事件處理函式繫結簡單介紹JavaScript事件函式
- javascript事件處理函式迴圈批量繫結簡單介紹JavaScript事件函式
- javascript批量註冊事件處理函式程式碼例項JavaScript事件函式
- jQuery如何解綁註冊的事件處理函式jQuery事件函式
- JavaScript 註冊事件處理函式JavaScript事件函式
- 【封裝小技巧】列表處理函式的封裝封裝函式
- JavaScript 批量註冊事件處理函式JavaScript事件函式
- JavaScript函式繫結JavaScript函式
- js如何給繫結的事件處理函式傳遞引數JS事件函式
- 【封裝小技巧】數字處理函式的封裝封裝函式
- 小微型庫(3.繫結on和解綁off)
- JavaScript 事件處理函式傳遞引數JavaScript事件函式
- jQuery之_事件繫結與解綁jQuery事件
- JavaScript為事件處理函式傳遞引數JavaScript事件函式
- javascript如何移除註冊的事件處理函式JavaScript事件函式
- js批量註冊事件處理函式程式碼例項JS事件函式
- javaScript事件(二)事件處理程式JavaScript事件
- JavaScript 事件繫結JavaScript事件
- javascript如何給事件處理函式傳遞引數JavaScript事件函式
- js為物件註冊多個事件處理函式程式碼JS物件事件函式
- uni-app入門教程(3)資料繫結、樣式繫結和事件處理APP事件
- C# 清除事件繫結的函式C#事件函式
- 好程式設計師分享JavaScript事件委託代理和函式封裝詳解程式設計師JavaScript事件函式封裝
- 使用for語句批量註冊事件處理函式程式碼例項事件函式
- 為什麼用for迴圈繫結的事件處理函式只有最後一個有效事件函式
- 原生ajax()函式封裝程式碼例項函式封裝
- jquery中事件重複繫結以及解綁問題jQuery事件
- JavaScript事件處理JavaScript事件
- 介面引數繫結, 公共處理程式碼生成工具
- 公共事件處理函式js庫事件函式JS
- React中this值繫結和事件函式傳參React事件函式
- javascript刪除註冊的事件處理函式簡單介紹JavaScript事件函式
- on()方法一次註冊多個事件處理函式程式碼例項事件函式
- WebAPIs-06:動畫函式封裝 + 觸屏事件WebAPI動畫函式封裝事件
- javascript封裝動畫函式(勻速、變速)JavaScript封裝動畫函式