跨浏览器事件封装

var EventUtil = {
        // 添加事件处理程序
        addHandler: function (element,type,handler) {
            if (element.addEventListener){
                element.addEventListener(type,handler,false);
            } else if (element.attachEvent) {
                element.attachEvent("on"+type,handler);
            } else {
                element["on"+type] = handler;
            }
        },
        // 删除事件处理程序
        removeHandler: function (element,type,handler) {
            if (element.removeEventListener){
                element.removeEventListener(type,handler,false);
            } else if (element.detachEvent) {
                element.detachEvent("on"+type,handler);
            } else {
                element["on"+type] = null;
            }
        },
        // 获取事件对象
        getEvent: function(event){
            return event ? event : window.event;
        },
        // 获取目标对象
        getTarget: function(event){
            return event.target || event.srcElement;
        },
        // 阻止默认事件
        preventDefault: function(event){
            if (event.preventDefault){
                event.preventDefault();
            } else {
                event.returnValue = false;
            }
        },
        // 阻止冒泡
        stopPropagation: function(event){
            if (event.stopPropagation){
                event.stopPropagation();
            } else {
                event.cancelBubble = true;
            }
        }
    };

猜你喜欢

转载自www.cnblogs.com/vscss/p/9054866.html