通過原生JS實現(xiàn)為元素添加事件的方法
自己寫了一個為元素添加事件的方法,并封裝到對象中。
說明:
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實現(xiàn)為元素添加事件的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript屏蔽指定區(qū)域內(nèi)右鍵菜單
有時候需要屏蔽部分區(qū)域內(nèi)的右鍵菜單,下面的代碼大家可以測試下。2010-03-03
Javascript實現(xiàn)字?jǐn)?shù)統(tǒng)計
現(xiàn)在流行的Twitter等微博客網(wǎng)站,有一個很好的用戶體驗,就是在文本框中輸入文字的時候,會自動統(tǒng)計輸入的字符,并顯示用戶還能輸入的字符,在限制了140個字的微博客中,這樣的小提示可以很好的增強用戶體驗。2015-07-07
javascript瀏覽器窗口之間傳遞數(shù)據(jù)的方法
這篇文章主要介紹了javascript瀏覽器窗口之間傳遞數(shù)據(jù)的方法,實例分析了父窗口與子窗口之間傳遞參數(shù)的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-01-01
JS實現(xiàn)在Repeater控件中創(chuàng)建可隱藏區(qū)域的代碼
在WEB應(yīng)用中,如何才能使應(yīng)用高效率呢?如何才能吸引用戶呢?這的確是個大學(xué)問,頁面的內(nèi)容,色搭配等都十分重要。但不可忽視的是,多數(shù)情況下,對于數(shù)據(jù)的呈現(xiàn)方式也是十分重要的。2010-09-09
js parseInt("08")未指定進(jìn)位制問題
今天在做JS關(guān)于月份的判斷,對于parseInt("01")到parseInt("07");都能得到正確的結(jié)果,但如果是parseInt("08")或parseInt("09")則返回0,首先看parseInt語法:parseInt(string, radix);2010-06-06

