首页 > 学院 > 开发设计 > 正文

火狐和IE的window.event的区别

2019-11-08 19:29:19
字体:
来源:转载
供稿:网友

一、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.yMoz中取鼠标点击的绝对位置,使用event对象的event.pageX和event.pageY所以为了兼容,需要自己做处理

 

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

IE中取鼠标点击的相对位置,使用event对象的event.offsetX和event.offsetYMoz中取鼠标点击的相对位置,使用event对象的event.layerX和event.layerY所以为了兼容,需要自己做处理,

 

六、事件绑定

事件绑定上Mozilla用addEventListener,removeEventListener对应IE的attachEvent,detatchEvent


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表