与其它浏览器在事件触发之后为每个事件创建一个单独的Event对象相对,IE的所有事件公用一个Event对象,也就是window.event。因此为了避免冲突,针对某个事件的window.event对象只在该事件的事件处理函数的执行过程中有效,一旦事件处理函数执行完了,window.event就被IE设置为null了。如果传到其他作用域,event的属性会显示无法获取成员。
比如:
var elem = document.getElementById('ss');
elem.attachEvent('onclick',function(e){
setTimeout(function(){
//在这里,e能获取到,但是访问不了它的属性
console.log(e);
},500)
})