不解釋,看代碼:
代碼如下:
;(function(){
//進(jìn)行庫封裝,防止對(duì)象污染
window['cm']={};
/**
*給對(duì)象注冊(cè)事件
*/
var addListener=function(element,type,fn){
if(typeof element == 'undefined') return false;
if(element.addEventListener){
element.addEventListener(type,fn,false);
}else if(element.attachEvent){
//將事件緩沖到該標(biāo)簽上,已解決this指向window(現(xiàn)fn內(nèi)this指向element)和移除匿名事件問題
var _EventRef='_'+type+'EventRef';
if(!element[_EventRef]){
element[_EventRef]=[];
}
var _EventRefs=element[_EventRef];
var index;
for(index in _EventRefs){
if(_EventRefs[index]['realFn']==fn){
return;
}
}
var nestFn=function(){
fn.apply(element,arguments);
};
element[_EventRef].push({'realFn':fn,'nestFn':nestFn});
element.attachEvent('on'+type,nestFn);
}else{
element['on'+type]=fn;
}
};
window['cm']['addListener']=addListener;
/**
*移除對(duì)象上已注冊(cè)事件
*/
var removeListener=function(element,type,fn){
if(typeof element == 'undefined') return false;
if(element.removeEventListener){
新聞熱點(diǎn)
疑難解答
圖片精選