问题已经自行解决了,把数组方法换成push就解决了。
另外事件绑定和自定义事件之间貌似实现机制差不多?是否有必要一起进行封装?
function addEvent(obj,type,fn){
if(obj.addEventListener){
obj.addEventListener(type,fn,false);
}
else{
obj['events']=obj['events'] || {};
obj['events'][type]=obj['events'][type] || [];
for (var i = 0; i < obj.events[type].length; i++) {
if(obj.event[type][i]==fn){
return true;
}else{
return false;
}
}
obj.events[type].push(fn);
obj['on'+type]=function(e){
var e=window.event;
e.preventDefault=function(){
this.returnValue=false;
}
e.stopPropagation=function(){
this.cancelBubble=true;
}
for (var i = 0; i < obj.events[type].length; i++) {
obj.events[type][i].call(obj,e);
}
}
}
}
伊谢尔伦2017-04-11 12:52:14
楼主这个问题,只知道IE和非IE的事件绑定有差异(兼容性问题),ie支持attachEvent和detachEvent,非IE支持addEventListener和removeEventListener。http://www.cnblogs.com/ttcc/p...这篇文章希望对你有帮助