if(window.event) e = window.event

浏览器事件对象兼容

function func(e){

  if(window.event){

  

    e = window.event;

  }

}

浏览器中的事件都是以对象的形式存在的,IE浏览器与标准DOM浏览器之间在获取事件对象上不同。

在IE浏览器中事件对象仅是window对象的一个属性event,那么就可以直接在函数中通过window.event访问;而标准的DOM浏览器中规定event对象必须作为一个参数传给事件处理函数,所以利用if语句判断,如果window.event存在,则e就等于window.event,反之,在标准DOM浏览器中,因为window.event是不存在的,它会直接无视掉这句判断,我们就可以直接使用e,比如e.type、e.clientX等等。。。

为了使代码更简便,可以这样写:

if(window.event) e=window.event;

或者三目运算符:

window.event?e=window.event:e;
原文地址:https://www.cnblogs.com/hejia/p/2648338.html