火狐和IE的window.event的区别

一、event对象

 

IE 中可以直接使用 window.event 对象,而 FF 中则不可以,解决方法之一如下:


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

第二种是将 event 作为参数来传递:


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

 

 

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


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

 

例子:

document.onclick = function(e){
var theEvent = window.event || e;
var srcElement = theEvent.srcElement;
if (!srcElement) {
srcElement = theEvent.target;
}

}

 

三、event.keyCode 和event.which

 

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

 

代码:

 
JScript 代码    复制

//IE
<input type="text" nkeypress="doIt()">
<script language="javascript">
 function doIt()
 {
   alert(event.keyCode);
 }
</script>

//火狐
<input type="text" nkeypress="doIt(event)">
<script language="javascript">
 function doIt(oEvent)
 {
   alert(oEvent.which)
 }
</script>

 

四、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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值