JavaScript DOM 添加事件
更新時間:2009年02月14日 13:58:40 作者:
這是我在給庫中添加事件的時候?qū)懙奶砑邮录姆椒ǎ∵@個方法實(shí)現(xiàn)了跨瀏覽器之間的方法!
因?yàn)閷τ谥С諨OM的瀏覽器來說,添加事件是用addEventListener()方法來給對象添加事件!
而對于MSIE來說則是用attachEvent()來給對象添加事件!這就使得我們必須用一個容器來裝載這兩個不同瀏覽器上對事件的處理方式!這樣我們就可以直接調(diào)用addEvent()方法來給對象添加事件了!
這不是更方便?!呵呵……
讓我們來看看吧!
/**
* 注冊一個監(jiān)聽事件到元素
* @param {Object} node 所要添加事件的對象
* @param {Object} type 事件類型
* @param {Object} listener 事件方法
*/
function addEvent( node, type, listener ) {
//使用前面的方法檢查兼容性以保證平穩(wěn)退化
if(!(node = $(node))) return false;
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] );
return true;
}else if (node.addEventListener) {
// 這是針對支持DOM的瀏覽器的方法
node.addEventListener( type, listener, false );
return true;
}
// 若兩種方法都不具備則返回false;
return false;
};
window['liujingning']['addEvent'] = addEvent;
使用方法:
比如我們要給頁面的onload()上添加事件,我們就可以這樣寫:
liujingning.addEvent(window,'load',function(Event) { //這里寫你要寫的代碼}
我們也可以給某個ID添加事件
var getId = document.getElementById('aa');
liujingning.addEvent(getId,'load',function(Event) { //這里寫你要寫的代碼}
而對于MSIE來說則是用attachEvent()來給對象添加事件!這就使得我們必須用一個容器來裝載這兩個不同瀏覽器上對事件的處理方式!這樣我們就可以直接調(diào)用addEvent()方法來給對象添加事件了!
這不是更方便?!呵呵……
讓我們來看看吧!
/**
* 注冊一個監(jiān)聽事件到元素
* @param {Object} node 所要添加事件的對象
* @param {Object} type 事件類型
* @param {Object} listener 事件方法
*/
function addEvent( node, type, listener ) {
//使用前面的方法檢查兼容性以保證平穩(wěn)退化
if(!(node = $(node))) return false;
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] );
return true;
}else if (node.addEventListener) {
// 這是針對支持DOM的瀏覽器的方法
node.addEventListener( type, listener, false );
return true;
}
// 若兩種方法都不具備則返回false;
return false;
};
window['liujingning']['addEvent'] = addEvent;
使用方法:
比如我們要給頁面的onload()上添加事件,我們就可以這樣寫:
liujingning.addEvent(window,'load',function(Event) { //這里寫你要寫的代碼}
我們也可以給某個ID添加事件
var getId = document.getElementById('aa');
liujingning.addEvent(getId,'load',function(Event) { //這里寫你要寫的代碼}
您可能感興趣的文章:
- JS中dom0級事件和dom2級事件的區(qū)別介紹
- 一些主流JS框架中DOMReady事件的實(shí)現(xiàn)小結(jié)
- Javascript Event事件中IE與標(biāo)準(zhǔn)DOM的比較
- javascript 刪除dom對象的事件函數(shù)代碼
- DOM3中的js textInput文本事件
- JS、CSS以及img對DOMContentLoaded事件的影響
- Javascript封裝DOMContentLoaded事件實(shí)例
- JavaScript DOM事件(筆記)
- 關(guān)于javascript DOM事件模型的兩件事
- js學(xué)習(xí)總結(jié)之dom2級事件基礎(chǔ)知識詳解
相關(guān)文章
小程序canvas手寫簽名適配PC實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了小程序canvas手寫簽名適配PC實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04簡述JavaScript提交表單的方式 (Using JavaScript Submit Form)
這篇文章主要介紹了簡述JavaScript提交表單的方式 (Using JavaScript Submit Form)的相關(guān)資料,需要的朋友可以參考下2016-03-03實(shí)現(xiàn)JavaScript中數(shù)據(jù)響應(yīng)的方法總結(jié)
JavaScript 數(shù)據(jù)響應(yīng)是一種重要的前端開發(fā)概念,是指在應(yīng)用程序中的數(shù)據(jù)發(fā)生變化時,能夠自動更新與這些數(shù)據(jù)相關(guān)的用戶界面(UI)部分的能力,本文我們來總結(jié)一下目前可以簡單實(shí)現(xiàn) JavaScript 中的數(shù)據(jù)響應(yīng)的方法,需要的朋友可以參考下2023-09-09JavaScript模擬深藍(lán)vs卡斯帕羅夫的國際象棋對局示例
這篇文章主要介紹了JavaScript模擬深藍(lán)vs卡斯帕羅夫的國際象棋對局示例,使用javascript較為逼真的模擬出了國際象棋對弈的場景,需要的朋友可以參考下2015-04-04使用TextRange獲取輸入框中光標(biāo)的位置的代碼
使用TextRange獲取輸入框中光標(biāo)的位置的代碼...2007-03-03jquery $(document).ready()和window.onload的區(qū)別淺析
這篇文章主要介紹了jquery $(document).ready()和 window.onload的區(qū)別淺析,本文總結(jié)了執(zhí)行時間、編寫個數(shù)不同、簡化寫法等不同的地方,需要的朋友可以參考下2015-02-02