通過原生JS實現為元素添加事件的方法
更新時間:2016年11月23日 10:50:55 投稿:jingxian
下面小編就為大家?guī)硪黄ㄟ^原生JS實現為元素添加事件的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
自己寫了一個為元素添加事件的方法,并封裝到對象中。
說明:
id : 目標元素的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; } } }
調用方法:
//定義事件處理程序 function msg(){ alert(this.tagName) } //為目標元素綁定事件 bindEvent.add('link','click',msg,false); //解除目標元素綁定的事件 bindEvent.remove('link','click',msg,false);
以上這篇通過原生JS實現為元素添加事件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
JS實現在Repeater控件中創(chuàng)建可隱藏區(qū)域的代碼
在WEB應用中,如何才能使應用高效率呢?如何才能吸引用戶呢?這的確是個大學問,頁面的內容,色搭配等都十分重要。但不可忽視的是,多數情況下,對于數據的呈現方式也是十分重要的。2010-09-09