首页 > 代码库 > JavaScript 跨浏览器事件处理工具

JavaScript 跨浏览器事件处理工具

/** * 跨浏览器事件处理工具。只支持冒泡。不支持捕获 * @author  (qiu_deqing@126.com) */var EventUtil = {    getEvent: function (event) {        return event || window.event;    },    getTarget: function (event) {        return event.target || event.srcElement;    },    // 返回注册成功的监听器,IE中需要使用返回值来移除监听器    on: function (elem, type, handler) {        if (elem.addEventListener) {            elem.addEventListener(type, handler, false);            return handler;        } else if (elem.attachEvent) {            var wrapper = function () {              var event = window.event;              event.target = event.srcElement;              handler.call(elem, event);            };            elem.attachEvent(‘on‘ + type, wrapper);            return wrapper;        }    },    off: function (elem, type, handler) {        if (elem.removeEventListener) {            elem.removeEventListener(type, handler, false);        } else if (elem.detachEvent) {            elem.detachEvent(‘on‘ + type, handler);        }    },    preventDefault: function (event) {        if (event.preventDefault) {            event.preventDefault();        } else if (‘returnValue‘ in event) {            event.returnValue = http://www.mamicode.com/false;>
参考:
DOM 事件模型是如何的, 编写一个 EventUtil 工具类实现事件管理兼容

JavaScript 跨浏览器事件处理工具