通過原生JS實現(xiàn)為元素添加事件的方法
更新時間:2016年11月23日 10:50:55 投稿:jingxian
下面小編就為大家?guī)硪黄ㄟ^原生JS實現(xiàn)為元素添加事件的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
自己寫了一個為元素添加事件的方法,并封裝到對象中。
說明:
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實現(xiàn)為元素添加事件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
layui 實現(xiàn)二級彈窗彈出之后 關閉一級彈窗的方法
今天小編就為大家分享一篇layui 實現(xiàn)二級彈窗彈出之后 關閉一級彈窗的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
詳解Javascript百度地圖接口開發(fā)文檔中的類和方法
最近在工作中在用laravel框架仿寫?zhàn)I了么外賣商城,于是學習了一下有關地圖接口相關的知識,以下是百步地圖接口開發(fā)文檔的一些類和方法的使用,需要的朋友們可以參考借鑒,下面來一起看看吧。2017-02-02
window.location和document.location的區(qū)別分析
用戶不能改變document.location(因為這是當前顯示文檔的位置)。但是,可以改變window.location (用其它文檔取代當前文檔)window.location本身也是一個對象,而document.location不是對象2008-12-12

