`
DBear
  • 浏览: 231141 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类

IE FireFox 兼容之 window.event

阅读更多

先看一段代码:

 

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript">
function testEvent(){
  var target = window.event.srcElement ;
  document.getElementById('result').innerHTML = target.tagName;
}
</script>
</HEAD>
<BODY>
<div id="result"></div>
<input type="button" value="点我" onclick="javascript:testEvent()"/>
</BODY>
</HTML>

 这段代码在IE浏览器下的效果是,点击按钮,页面上显示“input”。但是在FireFox下点击按钮则会报错:window.event is undefined。这是因为在FireFox下window.event只能在事件发生的现场使用,也就是说,event变量必须在方法调用处被传入。再看下面的代码。

 

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript">
function testEvent(number,ev){
  var target = ev.srcElement || ev.target;
  document.getElementById('result').innerHTML = target.tagName+ number;
}
</script>
</HEAD>

<BODY>
<div id="result"></div>
<input type="button" value="点我" onclick="javascript:testEvent(20,event)"/>
<script type="text/javascript">
//testEvent();
</script>
</BODY>
</HTML>

 

上面的代码在IE和FireFox下执行都能生效,且效果相同。上面的代码有几处需要注意:

1、传入调用方法的event变量一定要是“event”,其它字符不能代替。但是位置不限。

2、event变量的点击对象获取在IE和firefox下也是不同的。IE下使用 .target获取,FireFoxe则要使用.srcElement获取。

 

其它兼容性问题

 

1、IE中 event对象有x,y属性,没有pageX,pageY属性;FireFox中有pageX,pageY属性,没有x,y属性。

2、待续。。。。

 

 

 

 

 

分享到:
评论

相关推荐

    火狐下window.event回车改Tab解决方案

    本文将详细介绍如何在Firefox(火狐)浏览器中将用户按下回车键的行为转换为按下Tab键的效果。此方案主要适用于那些希望增强用户体验、提供更加流畅表单填写流程的应用程序。 #### 背景介绍 在不同的浏览器环境下,...

    window.event.keyCode兼容IE和Firefox实现js代码

    Javascript 代码 代码如下: function keyNumAll(evt){ //兼容IE和Firefox获得keyBoardEvent对象 evt = (evt) ? evt : ((window.event) ? window.event : “”); var key = evt.keyCode?evt.keyCode:evt.which;//...

    Javascript的IE和Firefox兼容性汇编 .txt

    ### JavaScript的IE与Firefox兼容性问题详解 #### 引言 在Web开发中,确保脚本能在不同浏览器间正常运行是非常重要的。特别是对于早期版本的Internet Explorer (IE) 和 Firefox (MF),由于它们对JavaScript的支持...

    网页右键ie不支持event.preventDefault和event.returnValue (需要加window)

    在IE浏览器中,我们需要使用另一种方式来阻止事件的默认行为,那就是通过`window.event.returnValue`属性。当`window.event.returnValue`被赋值为`false`时,相当于阻止了事件的默认行为。下面是一个兼容IE和非IE...

    Javascript的IE和Firefox兼容性.doc

    为兼容IE和Firefox,可以使用`event.clientX`和`event.clientY`,它们在大部分情况下等价于`event.pageX`和`event.pageY`,但要注意页面滚动的影响。如果需要精确匹配,可能需要额外计算。 7. **关于`frame`** - ...

    event兼容调用(IE,Firefox,Chrome)

    ### event兼容调用详解——IE,Firefox,Chrome 在跨浏览器开发中,处理事件(event)的兼容性问题是一项常见的挑战。不同的浏览器对事件模型的支持程度不同,这导致了开发者在编写JavaScript代码时需要考虑多种...

    Javascript的IE和Firefox兼容性参考

    为了兼容,可以使用`event.clientX`和`event.clientY`,这两个属性在IE和Firefox中都可用。如果需要精确的坐标,可能需要额外计算考虑页面的滚动位置。 解决这些问题通常需要编写跨浏览器的代码,使用条件注释、...

    js事件源window.event.srcElement兼容性写法(详解)

    在IE浏览器中,我们可以通过window.event.srcElement属性来访问事件源,但在Firefox等其他浏览器中,这一属性是不存在的,因此需要寻找兼容性写法。这篇文档便是对window.event.srcElement属性及其兼容性写法的详细...

    兼容IE和Firefox获得keyBoardEvent对象

    )来代替IE下的event.srcElement或者Firefox下的event.target。请同时注意event的兼容性问题。 11. window.location.href问题 IE或者Firefox2.0.x可以使用window.location或window.location.href;Firefox1.5.x只能...

    Mozzila Firefox与IE的兼容问题

    在IE中,window.event可以正确执行,但是在Firefox中却不可以。解决方法是将window.event改为事件对象evt,例如: 原代码:提交" onclick="javascript:gotoSubmit()"/&gt; function gotoSubmit() { ... alert...

    window.event快达到全浏览器支持了,以后使用就方便了

    然而,在早期的非IE浏览器中,如Firefox、Chrome、Safari和Opera,并不直接支持`window.event`,它们通常会将事件对象作为事件处理函数的第一个参数传递,如`function(event)`中的`event`。 标题和描述中提到的情况...

    ie firefox 兼容问题大全

    ### IE与Firefox兼容性问题详解 #### 一、概述 在网页开发过程中,浏览器兼容性问题一直是前端开发者面临的重要挑战之一。尤其是对于早期版本的Internet Explorer(简称IE)与Mozilla Firefox(简称Firefox)来说...

    ie 和 firefox 的javascript 兼容问题(网上下载的).doc

    ### IE和Firefox的JavaScript兼容性问题详解 #### 1. `document.formName.item("itemName")` 问题 在处理表单元素时,IE 和 Firefox 对 `document.formName.item("itemName")` 的支持存在差异。 **说明:** - **...

    javascript在firefox与ie下的兼容性总结

    - 解决方法:在Firefox中,可以使用`event.pageX`替代`event.x`,但在IE中不支持。使用`event.clientX`作为通用解决方案,它在两者中都可用。如果需要精确的坐标,可以处理`event.clientX`和`event.pageY`的差异。 ...

    js在ie和FireFox下兼容问题汇总

    - 在Firefox中,可以使用`event.pageX`和`event.pageY`代替,但在IE中需要使用`event.clientX`和`event.clientY`。为了在两种浏览器间保持一致,可以计算`mX = event.x ? event.x : event.pageX`,之后使用`mX`。 ...

    js在IE和Firefox不同之处

    另外,`event.layerX`属性在IE和Firefox中都有,但在具体的意义上可能存在差异,需要进一步测试确认。 #### 4. HTML对象的ID作为对象名的问题 在IE中,可以直接通过HTML对象的ID作为`document`的下属对象变量名来...

    JavaScript兼容浏览器FFIE技巧[定义].pdf

    由于Firefox(MF/FF)和Internet Explorer(IE)对JavaScript的支持存在差异,因此需要采取特定的兼容性策略。以下是一些关键的兼容性问题及其解决方案: 1. **事件对象**: - **window.event**:IE支持window....

Global site tag (gtag.js) - Google Analytics