登录

javascript - js事件绑定兼容ie出现问题

问题已经自行解决了,把数组方法换成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);
                }
            }
        }    
    }
# JavaScript
迷茫迷茫2146 天前442 次浏览

全部回复(2) 我要回复

  • 伊谢尔伦

    伊谢尔伦2017-04-11 12:52:14

    楼主这个问题,只知道IE和非IE的事件绑定有差异(兼容性问题),ie支持attachEvent和detachEvent,非IE支持addEventListener和removeEventListener。http://www.cnblogs.com/ttcc/p...这篇文章希望对你有帮助

    回复
    0
  • 阿神

    阿神2017-04-11 12:52:14

    同意楼上的,看楼上就可以

    回复
    0
  • 取消回复发送