浏览器兼容代码

事件对象

在IE/Opera中,是window.event,而在Firefox中,是event

event = event || window.event;

事件的对象,在IE中是window.event.srcElement,在Firefox中是event.target,而在Opera中则两者都支持。

event.target || window.event.srcElement

事件绑定

不同浏览器中运作一致;处理事件时,this关键字引用的是当前元素
事件对象参数(e)仅非IE浏览器可用

element.onclick = function(e){
        // ...
    };

最后的参数设置:false (冒泡) 或 true (捕获);
在事件处理函数内部,this关键字引用当前元素;事件对象总是可以通过处理函数的第一个参数(e)捕获;
IE不支持

element.attachEvent('onclick', function(){
        // ...
});

IE仅支持事件捕获的冒泡阶段触发;事件监听函数内的this关键字指向了window对象
事件对象仅存在与window.event参数中;事件必须以ontype的形式命名,比如,onclick而非click;仅IE可用

element.attachEvent('onclick', function(){
        // ...
});

解除事件

除IE

element.removeEventListener('click', function(e){
        // ...
    }, false);

IE

element.detachEvent('onclick', function(){
        // ...
});

猜你喜欢

转载自www.cnblogs.com/qq3279338858/p/9253849.html