<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
function good(){
alert(1);if(console){console.log(this);}
}
if(document.addEventListener){
document.addEventListener("click",good,false);
document.addEventListener("click",good,false);
document.addEventListener("click",good,false);
}else{
document.attachEvent("onclick",good);
document.attachEvent("onclick",good);
document.attachEvent("onclick",good);
}
</script>
</body>
</html>
在不同的浏览器中可以发现,IE下会显示3次alert
但是其他标准浏览器中只会显示一次alert
说明的问题是
1.attachEvent可以给同一个元素重复绑定相同的函数
2.this指针问题,attachEvent的this指向window对象,而addEventListener就是对应的DOM元素,也就是Document对象
分享到:
相关推荐
例如,`fixEvent`函数用于修复事件对象,使其具有`preventDefault`和`stopPropagation`方法,以兼容W3C标准,同时也解决了IE的事件处理方式。 总结来说,本章节主要讲述了如何封装一个跨浏览器的事件绑定库,该库...
在不同的浏览器环境下,事件处理的实现机制有所差异,尤其是在Internet Explorer(IE)和Firefox之间。本文将深入探讨这些差异,以帮助开发者更好地理解和解决跨浏览器的兼容性问题。 首先,我们要了解事件流的概念...
移除事件绑定同样需要考虑到浏览器的差异。`removeEvent`函数处理了`removeEventListener`和`detachEvent`: ```javascript var removeEvent = function( obj, type, fn ) { if (obj.removeEventListener) obj....
总之,JavaScript在不同浏览器环境下的事件绑定存在差异,特别是IE浏览器的`attachEvent`方法。开发者需要了解这些差异,并根据实际需求选择合适的解决方案,以确保事件处理函数在所有目标浏览器中都能按预期顺序...
1. **事件绑定差异** 在JavaScript中,为`option`元素绑定事件通常使用`addEventListener`或`attachEvent`方法。`addEventListener`是W3C标准,适用于大多数现代浏览器,而`attachEvent`则是Internet Explorer (IE...
而在Internet Explorer中,对应的API是`attachEvent`和`detachEvent`,它们不支持事件捕获,且存在其他差异,比如`this`指向问题和重复绑定的问题。 **注意事项**: - **事件冒泡与捕获**:事件通常从最深的节点...
在标准模式下,IE8及以下版本不支持通过`setAttribute`直接为元素添加事件监听器,这与现代浏览器如Chrome和Firefox存在差异。为了确保兼容性,通常推荐使用`addEventListener`方法为元素添加事件监听器,但由于IE8...
在JavaScript(简称js)开发过程中,调试是必不可少的环节,特别是在Internet Explorer(IE)这种曾经占据主导地位的浏览器上,由于其独特的内核和对标准支持的差异,开发者经常会遇到各种难以预料的问题。...
而Firefox和其他基于W3C标准的浏览器则使用`addEventListener`和`removeEventListener`方法来处理事件绑定。 拖动功能在网页中通常涉及鼠标按下、移动和释放等事件。在IE中,我们可以通过`onmousedown`、`...
在现代浏览器中,`setAttribute`方法可以方便地为HTML元素添加属性和事件处理程序,但在IE6中,这个方法并不总是如预期般工作,特别是对于事件绑定。 在Web开发中,我们经常需要动态地为DOM元素添加事件监听器,...
### IE和Firefox的鼠标滚轮事件JavaScript代码 #### 背景与概述 在Web开发过程中,处理不同浏览器...通过上述分析和示例代码,我们可以有效地处理IE和Firefox之间的鼠标滚轮事件差异,实现跨浏览器兼容性的解决方案。
对于IE浏览器,它使用不同的事件绑定方式:`attachEvent`和`detachEvent`。这两个方法的用法与`addEventListener`和`removeEventListener`类似,但有一些差异,比如事件处理函数的`this`指向不同,以及没有第三个...
- `window.attachEvent`是IE特有的事件绑定方式,而Firefox使用`addEventListener`。 2. **DOM操作差异**: - IE中的`innerHTML`属性可以用来设置或获取HTML元素的全部内容,但在早期版本中,IE处理某些元素(如`...
本文将基于提供的文档摘要,深入探讨Internet Explorer(IE)与Mozilla Firefox(火狐)这两种主流浏览器在处理DOM操作、事件绑定等方面存在的差异,并提出相应的解决方案。 #### 一、InnerText与InnerHTML - **...
本文将探讨三种常见的JavaScript事件绑定方法:传统方式、W3C标准方式以及Internet Explorer (IE)方式,并分析它们各自的优缺点。 1. **传统方式(DOM0级事件处理程序)** - **优点**: - 简单易用,适用于所有...
JavaScript中的事件处理在不同的浏览器环境下,尤其是Internet Explorer (IE) 和遵循Document Object Model (DOM) 规范的浏览器之间存在显著差异。以下是这些差异的详细解释: 1. **事件流的区别**: - **IE冒泡型...
IE(Internet Explorer)和Mozilla(包括Firefox)对JavaScript事件处理和事件对象的处理方式存在差异,这给开发者带来了额外的工作量。以下是一些关于IE和Mozilla中脚本兼容性的关键点: 1. **事件对象的访问**: ...
总之,JavaScript的事件绑定涉及到多种方法,包括传统方法、W3C标准方法和IE特有的方法。理解这些方法及其差异是编写兼容性良好的JavaScript代码的关键。同时,跨浏览器的解决方案如`addEvent`和`removeEvent`函数...
而`addEventListener`方法则是一个更为现代和标准的方法,它不仅兼容现代浏览器如火狐(Firefox)和谷歌(Chrome),还支持IE9及更高版本。其语法格式为`element.addEventListener(eventName, function, useCapture)...
- 事件绑定:IE使用 `attachEvent`,FF使用 `addEventListener`。可以使用如下代码进行兼容: ```javascript element.addEventListener ? element.addEventListener('event', function, false) : element....