原生js跨浏览器兼容事件对象

1 对于事件对象event

  1. 在其他浏览器中Event对象属性如下所示
    在这里插入图片描述
  2. 在IE中其Event对象属性如下图所示
    在这里插入图片描述

2 如何兼容?

不废话…直接上代码

var eventUtils = {
    addHandle: function(element,eventType,handler){
            if(element.addEventListener)
            element.addEventListener(eventType,handler,false);
            else if(element.attachEvent)
            element.attachEvent('on'+eventType,handler);
            else
            element['on'+type] = handler;
    },
    removeHandle: function(element,eventType,handler){
        if(element.removeEventListener)
        element.removeEventListener(eventType,handler,false);
        else if(element.detachEvent)
        element.detachEvent("on"+eventType,handler);
        else
        element["on"+eventType] = 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;
    }
}


// Use:
// btn.onclick = function(event){
//     var e = eventUtils.getEvent(event);
// } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值