`

关于JS兼容监听attachEvent和addEventListener

阅读更多
今天学习了一下attachEvent和addEventListener这两个方法

具体代码如下:

=============================================

<html>
<script language="javascript">
    /*
     页面加载时在页面内放置一个层
 */
    document.writeln("<div id='divMix'>&nbsp;</div>");
</script>
<script language="javascript">
    /*
     创建一个按钮,奖其放在先前放置的层内
  使用attachEvent或者addEventListener方法不其注册事件
 */
 var btn=document.createElement("input");
 btn.setAttribute("type","button");
 btn.setAttribute("id","btnEle");
 btn.setAttribute("value","点击我");
 /*
  判断浏览器类型
  我的机器装了4种浏览器(IE,傲游,火狐,netscape)
  我试验的结果是
  IE,傲游支持attachEvent;而火狐,netscape支持addEventListener
 */
 if(btn.attachEvent){
  btn.attachEvent("onclick",method1);
  btn.attachEvent("onclick",method2);
  btn.attachEvent("onclick",method3); 
  /*
     三个方法调用的顺序是method2>method3>method1
     而很多人的博客上看到的却是method3>method2>method1
     很是奇怪,不知是不是浏览器版本的问题,当前IE6.0
  */
 }
 else if(btn.addEventListener){
  btn.addEventListener("click",method1,true);
  btn.addEventListener("click",method2,true);
  btn.addEventListener("click",method3,true);
 }
 /* 获取先前创建的层对象 */
 var div=document.getElementById("divMix");

 /* 使用typeof运算符判断获取的层对象是否存在
    如果存在则奖创建的按钮放到层里面,反之则提示没有
    找到相关对象
 */
 if(typeof(div)=="object"){
     div.appendChild(btn);
  /*
     火狐,netscape好像不支持appendChild这个方法
     所以在火狐,netscape看不到效果
  */
 }else{
  alert("没有找到相关对象!");
 }
  

function method1(){
 alert("method1()");
}


function method2(){
alert("method2()"); 
}


function method3(){
alert("method3()"); 
}

</script>
<body>
</body>
</html>
分享到:
评论

相关推荐

    attachEvent和addEventListener 使用方法

    在JavaScript中,`...以上就是关于 `attachEvent` 和 `addEventListener` 的使用方法及其区别的详细介绍,它们在JavaScript事件处理中起着至关重要的作用。正确理解和使用这些方法可以提高代码的健壮性和兼容性。

    javascript attachEvent和addEventListener使用方法

    本知识点将介绍 JavaScript 中两种常用的方法:attachEvent 和 addEventListener,以及它们在不同浏览器中的应用和区别。 首先,attachEvent 方法是早期 Internet Explorer 浏览器引入的事件监听方法,它的语法是:...

    addEventListener和attachEvent二者绑定的执行函数中的this不相同

    在JavaScript中,`addEventListener`和`attachEvent`都是用于向元素添加事件监听器的方法,但它们之间存在一些关键差异,特别是在处理`this`关键字时。`addEventListener`是W3C标准的一部分,被大多数现代浏览器支持...

    浅谈addEventListener和attachEvent的区别

    在JavaScript中,处理DOM事件监听有两个主要的方法:`addEventListener` 和 `attachEvent`。这两个方法在功能上相似,但存在一些关键的区别,特别是在浏览器兼容性和事件处理方式上。 `addEventListener` 是W3C标准...

    JAVASCRIPT兼容性(一个文档和一本国外书)

    最后,关于《JAVASCRIPT兼容性(一个文档和一本国外书)》的资源,它们很可能是提供详细的兼容性表格、最佳实践和解决方案的参考材料,可以帮助开发者深入理解并解决实际开发中遇到的兼容性问题。阅读这些资料,结合...

    javascript兼容性解决方法大全

    添加事件监听器时,IE使用`element.attachEvent`,而FF使用`element.addEventListener`。为了确保兼容,可以使用如下方式: ```javascript if (element.addEventListener) { element.addEventListener("click", ...

    javascript解决IE9兼容.rar

    "javascript解决IE9兼容.rar"这个压缩包文件包含了解决IE9兼容性问题的一些关键资源,如检测浏览器类型和版本的代码、与IE8和IE9相关的注册表设置,以及解决页面兼容性问题的文本文件。以下将详细阐述这些知识点。 ...

    多款JS软键盘 及 常用JS兼容写法

    例如,使用`addEventListener`和`removeEventListener`来添加和移除事件监听器时,需要考虑IE8及以下版本不支持的情况,可以使用`attachEvent`和`detachEvent`作为替代。对于数组方法,如`forEach`和`map`,老版本...

    js兼容IE火狐问题

    通用方法是直接为元素设置`onclick`属性,但这种方法只能绑定一个处理函数,而`attachEvent`和`addEventListener`可以绑定多个。 4. **自定义属性** - **获取自定义属性**:IE可以直接通过`div1.value`或`div1[...

    JS图片预览(兼容IE6、IE7、IE8和FF)

    在JavaScript(简称JS)中实现图片预览,尤其是在兼容老版本的Internet Explorer(如IE6、IE7、IE8)以及Firefox(FF)等浏览器上,需要考虑多种技术策略和兼容性问题。下面我们将详细讨论如何实现这个功能,并着重...

    JavaScript非常小巧的JS下拉菜单代码,兼容多个浏览器

    这些早期版本的浏览器可能不支持一些现代JavaScript特性,因此我们需要使用传统的方式来编写代码,比如避免使用ES6的新语法,使用`addEventListener`代替`attachEvent`(在旧版IE中)来添加事件监听器。 一个简单的...

    JavaScript 事件监听实例代码[兼容IE,firefox] 含注释

    在JavaScript中,事件监听主要通过 `addEventListener` 和 `attachEvent` 方法来实现。 在标准的DOM中,`addEventListener` 是用来添加事件处理程序的方法,语法如下: ```javascript element.addEventListener...

    IE、FF的JS兼容写法

    这篇博客文章“IE、FF的JS兼容写法”探讨了如何编写能够同时在IE和FF下运行的兼容性JavaScript代码。 首先,我们需要理解这两个浏览器对于DOM(Document Object Model)操作的处理方式有所不同。例如,IE使用的是`...

    各浏览器兼容禁止右键js代码

    为了实现更好的浏览器兼容性,我们可以利用`addEventListener`或`attachEvent`方法,这两个方法分别适用于标准浏览器(如Chrome、Firefox)和IE浏览器。以下是一个兼容多种浏览器的示例: ```javascript if ...

    JavaScript通过attachEvent和detachEvent方法处理带参数的函数

    在探讨JavaScript中使用attachEvent和detachEvent方法处理带有参数的函数之前,我们先要了解这两个方法分别是什么以及它们的作用。attachEvent和detachEvent是早期IE浏览器特有的,用于为DOM元素添加或移除事件监听...

    js代码-js的addEventListener兼容性代码

    在JavaScript编程中,`addEventListener` 是一个至关重要的...在实际开发中,确保代码的兼容性和可维护性是至关重要的,尤其是在JavaScript这样的动态语言中,良好的代码组织和适配策略能极大地提高应用的适用范围。

    javascript兼容性总结 转.doc

    总结,JavaScript 兼容性问题主要集中在函数和方法差异、样式访问和设置、事件处理、DOM 操作以及 BOM。解决这些问题通常需要通过条件判断或使用兼容性库如 jQuery,以确保代码在多种浏览器环境下能正常工作。理解并...

    Javascript添加监听与删除监听用法详解

    在探讨JavaScript事件监听添加与删除的方法时,我们首先要明确几个核心概念:事件监听器(Event Listener)以及它们如何通过`addEventListener`和`removeEventListener`方法被添加和移除。 `addEventListener`是...

    JS事件冒泡浏览器兼容

    一种解决兼容性问题的方法是使用DOM2级事件接口,其中`addEventListener`和`removeEventListener`方法可以接受第三个参数,用来指定事件是在捕获阶段还是冒泡阶段处理。如果该参数为`true`,则事件处理函数会在捕获...

    js树形菜单,完全兼容

    IE老版本兼容:由于IE5到IE8对某些JavaScript特性支持不足,如DOM操作、事件处理、CSS选择器等,我们需要使用像`document.getElementById`、`appendChild`等老式API,并注意使用`attachEvent`而非`addEventListener`...

Global site tag (gtag.js) - Google Analytics