|
而對(duì)于MSIE來(lái)說(shuō)則是用attachEvent()來(lái)給對(duì)象添加事件!這就使得我們必須用一個(gè)容器來(lái)裝載這兩個(gè)不同瀏覽器上對(duì)事件的處理方式!這樣我們就可以直接調(diào)用addEvent()方法來(lái)給對(duì)象添加事件了!
這不是更方便?!呵呵……
讓我們來(lái)看看吧!
/**
* 注冊(cè)一個(gè)監(jiān)聽(tīng)事件到元素
* @param {Object} node 所要添加事件的對(duì)象
* @param {Object} type 事件類型
* @param {Object} listener 事件方法
*/
function addEvent( node, type, listener ) {
//使用前面的方法檢查兼容性以保證平穩(wěn)退化
if(!(node = $(node))) return false;
if(node.attachEvent) { // 這是針對(duì)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) {
// 這是針對(duì)支持DOM的瀏覽器的方法
node.addEventListener( type, listener, false );
return true;
}
// 若兩種方法都不具備則返回false;
return false;
};
window['liujingning']['addEvent'] = addEvent;
使用方法:
比如我們要給頁(yè)面的onload()上添加事件,我們就可以這樣寫:
liujingning.addEvent(window,'load',function(Event) { //這里寫你要寫的代碼}
我們也可以給某個(gè)ID添加事件
var getId = document.getElementById('aa');
liujingning.addEvent(getId,'load',function(Event) { //這里寫你要寫的代碼}
JavaScript技術(shù):JavaScript DOM 添加事件,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。