在IE中,event对象为window的属性,作用于全局作用域,而在Firefox中,event对象是最为事件的参数存在的。为兼容不同浏览器,采用如下写法:
var btn = document.getElementById('btn');
btn.onclick = function(e){
var e = window.event || e;
}
对于event的部分属性,比如派生事件(事件委托)的对象在IE中通过event对象的srcElement属性访问,而在火狐中通过event对象的target属性访问。可以将其封装为如下:
function getEventTarget(e){
var e = window.event || e;
return e.srcElement || e.target;
}