浏览器兼容——DOM事件封装函数

//封装函数
var eventUtil={
    //添加事件
    addHandler:function(element,type,handler){
        if(element.addEventListener){        //如果支持DOM2
            element.addEventListener(type,handler,false);
        }else if(element.attachEvent){        //如果支持IE
            element.attachEvent('on'+type,handler);
        }else{                                              //DOM0级
            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;
    }

    getType:function (event) {
        return event.type;
    }
    //获取事件目标
    getElement: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;
        }
    }

posted @ 2016-02-17 17:48  Haydee  阅读(513)  评论(0编辑  收藏  举报