IE11 Javascript错误未定义null引用

时间:2014-12-09 05:55:17

标签: javascript internet-explorer internet-explorer-11

我在IE11中引发了一个javascript错误,该错误禁止在页面上滚动鼠标。我想知道代码的问题是什么,以及是否可以轻松修改它以修复它。

错误是: {exception}无法获取未定义或空引用的属性“长度”

它出现在这个代码块中,在第8行中,如图所示,处理程序是一个空引用:

return {
        add: function(elem, event, handler) {
            if(!elem.events) {
                elem.events = {};
                elem.handle = function(e) {
                    var ret, handlers = elem.events[e.type];
                    e = fixEvent(e);
                    for(var i = 0, len = handlers.length; i < len; i++) {
                        if(handlers[i]) {
                            ret = handlers[i].call(elem, e);
                            if(ret === false) {
                                e.preventDefault();
                                e.stopPropagaton();
                            }
                        }
                    }
                };
            }
            if(!elem.events[event]) {
                elem.events[event] = [];
                if(elem.addEventListener) elem.addEventListener(event, elem.handle, false);
                else if(elem.attachEvent) elem.attachEvent('on'+event, elem.handle);
            }
            elem.events[event].push(handler);
        },
        remove: function(elem, event, handler) {
            var handlers = elem.events[event];
            for(var i = handlers.length - 1; i >= 0; i--) {
                if(handlers[i] === handler) {
                    handlers.splice(i,1);
                }
            }
            if(!handlers.length) {
                delete elem.events[event];
                if(elem.removeEventListener) elem.removeEventListener(event, elem.handle, false);
                else if(elem.detachEvent) elem.detachEvent('on'+event, elem.handle);
            }
        }
    };  

0 个答案:

没有答案