Home  >  Article  >  Web Front-end  >  javascript 传统事件模型构造的事件监听器实现代码_javascript技巧

javascript 传统事件模型构造的事件监听器实现代码_javascript技巧

WBOY
WBOYOriginal
2016-05-16 18:26:051140browse

代码如下:

复制代码 代码如下:

var br={};
br.eventRouter = {};
br.eventRouter.addListen = function(el,eventType,func){
if(!el.eventObjs){
el.eventObjs = {};
}
if(!el.eventObjs[eventType]){
el.eventObjs[eventType]=[];
br.eventRouter.bindListen(el,eventType);
}
el.eventObjs[eventType].push(func);
};
br.eventRouter.removeListen = function(el,eventType,func){
if(el.eventObjs && el.eventObjs[eventType]){
for(var i=0,len=el.eventObjs[eventType].length;ivar item = el.eventObjs[eventType][i];
if(func==item){
el.eventObjs[eventType].splice(i,1);
return true;
}
}
}
return false;
};
br.eventRouter.bindListen = function(el,eventType){
if(el.eventObjs && el.eventObjs[eventType]){
el[eventType] = function(e){
for(var i=0,len=el.eventObjs[eventType].length;ivar f = el.eventObjs[eventType][i];
f.call(el,e);
}
};
}
};

代码比较简单,不做过多解释。也希望有兴趣的同学给出bug。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn