为了账号安全,请及时绑定邮箱和手机立即绑定

每次运行时调用eventUtil.getType(event)这些方法时,我用alert出来都是undifine

var eventUtil={
    //添加句柄
    addHandler:function(element,type,handler){
        if(element.addEventListener){
            element.addEventListener(type,handler,false);
        }else if(element.attechEvent){
            element.attechEvent('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;
    },
    //获取事件类型
    getType:function(event){
        return event.type;
    },
    //获取事件元素
    getElement:function(event){
        return event.target||event.srcElement;
    },
    //阻止事件冒泡
    stopPropagation:function(event){
        if(event.stopPropagation){
            event.stopPropagation();
        }else{
            event.cancelBubble=true;
        }
    },
    //阻止默认行为
    preventDefault:function(event){
        if(event.preventDefault){
            event.preventDefault();
        }else{
            event.returnValue=false;
        }
    }
}

正在回答

1 回答

你的调用代码?显示为undefined,应该是event对象没有传入

0 回复 有任何疑惑可以回复我~
#1

qq_Mark单_0 提问者

现在弄清楚了,在每次调用事件的时候都要先event:event||window.event;来确定事件,不然都会报undrfined
2016-09-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

每次运行时调用eventUtil.getType(event)这些方法时,我用alert出来都是undifine

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信