自己寫了一個(gè)為元素添加事件的方法,并封裝到對(duì)象中。
說明:
id : 目標(biāo)元素的ID
type: 事件的類型,注意的是不能加on
fn:事件處理程序
isBubble :規(guī)定事件流
代碼:
var bindEvent = {    'add':function(id,type,fn,isBubble){      var dom = document.getElementById(id);      if(!isBubble) isBubble=false;      if(dom.addEventListenner){        dom.addEventListenner(type,fn,isBubble);      }else if(dom.attachEvent){        Transit = function(){          fn.call(dom);        }        dom.attachEvent('on'+type,Transit);      }else{        dom['on'+type] = fn;      }    },    'remove':function(id,type,fn,isBubble){      var dom = document.getElementById(id);      if(!isBubble) isBubble=false;      if(dom.removeEventListenner){        dom.removeEventListenner(type,fn,isBubble)      }else if(dom.detachEvent){        dom.detachEvent('on'+type,Transit)      }else{        dom['on'+type]=null;      }    }  }調(diào)用方法:
//定義事件處理程序 function msg(){  alert(this.tagName) } //為目標(biāo)元素綁定事件 bindEvent.add('link','click',msg,false); //解除目標(biāo)元素綁定的事件 bindEvent.remove('link','click',msg,false);以上這篇通過原生JS實(shí)現(xiàn)為元素添加事件的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VeVb武林網(wǎng)。
新聞熱點(diǎn)
疑難解答