不解釋,看代碼:
;(function(){
//進行庫封裝,防止物件污染
window['cm']={};
/**
*給予對象註冊事件
*/
var addListener=function(element,type,fn){
if(typeof element == 'undefined') return false; element.addEventListener(type,fn, false);
}else if(element.attachEvent){
//將事件緩衝到該標籤中,已解決以略為移除」( var _EventRef='_' type 'EventRef';
if(!element[_EventRef]){
}
var _EventRefs=element[_EventRef];
var index;
for(index in _EventRefs){ ']==fn){
return;
> var nestFn=function(){
fn.apply(element,arguments);
ement[_EventRef].push({'realFn':fn,'nestFn':nestFn});
element.attachEvent('on' type,nestFn);
} }
};
window['cm' ]['addListener']=addListener;
/**
*移除物件上已註冊事件
*/
var removeListener=function(element,type,fn){
;
if(element.removeEventListener){
element.removeListener > var _EventRef='_' type 'EventRef' ;
if(!element[_EventRef]){
🎜> var _EventRefs=element[_EventRef]
for(index in _EventRefs){
nestFn=_EventRefs[index]['nestFn'];
==_EventRefs.length-1){
}else{
element[_EventRef]=_EventRefs.slice(0,index).concat(_EventRefs.slice( }
🎜> }
if(nestFn){
🎜> }
}else{
🎜> }
};
})();