林秀栋的技术博客

火狐和IE的window.event的区别

event对象

IE 中可以直接使用 window.event 对象,而 FF 中则不可以

解决方法一

var theEvent = window.event   arguments.callee.caller.arguments[0];

解决方法二

将 event 作为参数来传递(事件中也要传递event)

<input onkeydown=function(event)/>
function test(event) {
    var event = event || window.event;
    //do Something
}

关于IE下的event.srcElement和火狐下的event.target

火狐下的e.target相当于ie下的event.srcElement,表示产生事件的源。

event.keyCode 和 event.which

Mozilla 下的 event.which 与 IE 下的 event.keyCode 相当。

PS.Mozilla下好像也有keyCode?

event.x, event.y[IE] 和 event.pageX,event.pageY[Moz]

IE中取鼠标点击的绝对位置,使用event对象的event.x和event.y

Moz中取鼠标点击的绝对位置,使用event对象的event.pageX和event.pageY

event.offsetX,event.offsetY[IE]和event.pageX,event.pageY[Moz]

IE中取鼠标点击的相对位置,使用event对象的event.offsetX和event.offsetY

Moz中取鼠标点击的相对位置,使用event对象的event.layerX和event.layerY

事件绑定

事件绑定上Mozilla用addEventListener,removeEventListener

对应IE的attachEvent,detatchEvent