經(jīng)驗(yàn)總結(jié) JavaScript DOM添加事件的實(shí)現(xiàn)
你對JavaScript DOM添加事件的行為是否熟悉,這里向大家簡單介紹一下,這是我在給庫中添加事件的時(shí)候?qū)懙腏avaScript DOM添加事件的方法!這個(gè)方法是實(shí)現(xiàn)了跨瀏覽器之間的方法!
JavaScript DOM添加事件
這是我在給庫中添加事件的時(shí)候?qū)懙腏avaScript DOM添加事件的方法!這個(gè)方法是實(shí)現(xiàn)了跨瀏覽器之間的方法!
因?yàn)閷τ谥С諨OM的瀏覽器來說,添加事件是用addEventListener()方法來給對象添加事件!而對于MSIE來說則是用attachEvent()來給對象添加事件!這就使得我們必須用一個(gè)容器來裝載這兩個(gè)不同瀏覽器上對事件的處理方式!這樣我們就可以直接調(diào)用addEvent()方法來給對象添加事件了!
讓我們來看看吧!
- /**
 - *注冊一個(gè)監(jiān)聽事件到元素
 - *@param{Object}node所要添加事件的對象
 - *@param{Object}type事件類型
 - *@param{Object}listener事件方法
 - */
 - functionaddEvent(node,type,listener){
 - //使用前面的方法檢查兼容性以保證平穩(wěn)退化
 - if(!(node=$(node)))returnfalse;
 - if(node.attachEvent){//這是針對IE的方法
 - node['e'+type+listener]=listener;
 - node[type+listener]=function(){node['e'+type+listener](window.event);}
 - node.attachEvent('on'+type,node[type+listener]);
 - returntrue;
 - }elseif(node.addEventListener){
 - //這是針對支持DOM的瀏覽器的方法
 - node.addEventListener(type,listener,false);
 - returntrue;
 - }
 - //若兩種方法都不具備則返回false;
 - returnfalse;
 - };
 - window['liujingning']['addEvent']=addEvent;
 
使用方法:
比如我們要給頁面的onload()上添加事件,我們就可以這樣寫:
- liujingning.addEvent(window,'load',function(Event)
 - {//這里寫你要寫的代碼}
 
我們也可以給某個(gè)ID添加事件
- vargetId=document.getElementById('aa');
 - liujingning.addEvent(getId,'load',function(Event)
 - {//這里寫你要寫的代碼}
 
【編輯推薦】
- JavaScript DOM特性與應(yīng)用詳解
 - JavaScript和DOM輕松實(shí)現(xiàn)數(shù)據(jù)訪問
 - JavaScript獲取HTML DOM節(jié)點(diǎn)元素詳解
 - 深入了解JavaScript HTML DOM對象
 - 解析HTML DOM Checkbox對象的屬性和方法
 















 
 
 
 
 
 
 