先看一段代码:
<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、待续。。。。
分享到:
相关推荐
本文将详细介绍如何在Firefox(火狐)浏览器中将用户按下回车键的行为转换为按下Tab键的效果。此方案主要适用于那些希望增强用户体验、提供更加流畅表单填写流程的应用程序。 #### 背景介绍 在不同的浏览器环境下,...
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兼容性问题详解 #### 引言 在Web开发中,确保脚本能在不同浏览器间正常运行是非常重要的。特别是对于早期版本的Internet Explorer (IE) 和 Firefox (MF),由于它们对JavaScript的支持...
在IE浏览器中,我们需要使用另一种方式来阻止事件的默认行为,那就是通过`window.event.returnValue`属性。当`window.event.returnValue`被赋值为`false`时,相当于阻止了事件的默认行为。下面是一个兼容IE和非IE...
为兼容IE和Firefox,可以使用`event.clientX`和`event.clientY`,它们在大部分情况下等价于`event.pageX`和`event.pageY`,但要注意页面滚动的影响。如果需要精确匹配,可能需要额外计算。 7. **关于`frame`** - ...
### event兼容调用详解——IE,Firefox,Chrome 在跨浏览器开发中,处理事件(event)的兼容性问题是一项常见的挑战。不同的浏览器对事件模型的支持程度不同,这导致了开发者在编写JavaScript代码时需要考虑多种...
为了兼容,可以使用`event.clientX`和`event.clientY`,这两个属性在IE和Firefox中都可用。如果需要精确的坐标,可能需要额外计算考虑页面的滚动位置。 解决这些问题通常需要编写跨浏览器的代码,使用条件注释、...
在IE浏览器中,我们可以通过window.event.srcElement属性来访问事件源,但在Firefox等其他浏览器中,这一属性是不存在的,因此需要寻找兼容性写法。这篇文档便是对window.event.srcElement属性及其兼容性写法的详细...
)来代替IE下的event.srcElement或者Firefox下的event.target。请同时注意event的兼容性问题。 11. window.location.href问题 IE或者Firefox2.0.x可以使用window.location或window.location.href;Firefox1.5.x只能...
在IE中,window.event可以正确执行,但是在Firefox中却不可以。解决方法是将window.event改为事件对象evt,例如: 原代码:提交" onclick="javascript:gotoSubmit()"/> function gotoSubmit() { ... alert...
然而,在早期的非IE浏览器中,如Firefox、Chrome、Safari和Opera,并不直接支持`window.event`,它们通常会将事件对象作为事件处理函数的第一个参数传递,如`function(event)`中的`event`。 标题和描述中提到的情况...
### IE与Firefox兼容性问题详解 #### 一、概述 在网页开发过程中,浏览器兼容性问题一直是前端开发者面临的重要挑战之一。尤其是对于早期版本的Internet Explorer(简称IE)与Mozilla Firefox(简称Firefox)来说...
### IE和Firefox的JavaScript兼容性问题详解 #### 1. `document.formName.item("itemName")` 问题 在处理表单元素时,IE 和 Firefox 对 `document.formName.item("itemName")` 的支持存在差异。 **说明:** - **...
- 解决方法:在Firefox中,可以使用`event.pageX`替代`event.x`,但在IE中不支持。使用`event.clientX`作为通用解决方案,它在两者中都可用。如果需要精确的坐标,可以处理`event.clientX`和`event.pageY`的差异。 ...
- 在Firefox中,可以使用`event.pageX`和`event.pageY`代替,但在IE中需要使用`event.clientX`和`event.clientY`。为了在两种浏览器间保持一致,可以计算`mX = event.x ? event.x : event.pageX`,之后使用`mX`。 ...
另外,`event.layerX`属性在IE和Firefox中都有,但在具体的意义上可能存在差异,需要进一步测试确认。 #### 4. HTML对象的ID作为对象名的问题 在IE中,可以直接通过HTML对象的ID作为`document`的下属对象变量名来...
由于Firefox(MF/FF)和Internet Explorer(IE)对JavaScript的支持存在差异,因此需要采取特定的兼容性策略。以下是一些关键的兼容性问题及其解决方案: 1. **事件对象**: - **window.event**:IE支持window....