跨瀏覽器事件封裝

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;
            }
        }
    };
相關文章
相關標籤/搜索