问题已经自行解决了,把数组方法换成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); } } } }
楼主这个问题,只知道IE和非IE的事件绑定有差异(兼容性问题),ie支持attachEvent和detachEvent,非IE支持addEventListener和removeEventListener。http://www.cnblogs.com/ttcc/p...这篇文章希望对你有帮助
同意楼上的,看楼上就可以