`

addEventListener 的用法

 
阅读更多

转自: http://parkmy.iteye.com/blog/431306 

 

对于IE的attachEvent方法可能大家都比较熟,现在说说FireFox的addEventListener的用法。

addEventListener的参数一共有三个,语法为:

element.addEventListener(type,listener,useCapture)

下面是详解

  • 其中element是要绑定函数的对象。
  • type是事件名称,要注意的是"onclick"要改为"click","onblur"要改为"blur",也就是说事件名不要带"on"。
  • listener当然就是绑定的函数了,记住不要跟括号
  • 最后一个参数是个布尔值,表示该事件的响应顺序,下面重点介绍一下addEventListener的第3个参数(useCapture)。

userCapture若为true,则浏览器采用Capture,若为false则采用bubbing方式。建议用false,看个例子吧。

html代码

<div id="div_test"> <input type="button" id="btn_test" value="se4.cn技术基地" /> </div>

js代码

window.onload=function(){ document.getElementById("div_test").addEventListener("click",test1,false); document.getElementById("btn_test").addEventListener("click",test2,false); } function test1(){ alert("外层div触发") } function test2(){ alert("内层input触发") }

自己体验一下,如果userCapture是true则test1先触发,如果userCapture是false则test2先触发。

 

 

 

 

 

 

 

 

 

在近来的工作中,用到了attachEvent方法,该方法可以为某一事件附加其它的处理事件,有时候可能比较有用,这里将其基本用法总结一下。

其语法可以查看《DHTML手册》,里面有详细的说明,这里贴一个例子,该例子来自互联网:

document.getElementById("btn").onclick = method1; 
document.getElementById("btn").onclick = method2; 
document.getElementById("btn").onclick = method3;
如果这样写,那么将会只有medhot3被执行

写成这样:
var btn1Obj = document.getElementById("btn1"); 
//object.attachEvent(event,function); 
btn1Obj.attachEvent("onclick",method1); 
btn1Obj.attachEvent("onclick",method2); 
btn1Obj.attachEvent("onclick",method3);
执行顺序为method3->method2->method1

如果是Mozilla系列,并不支持该方法,需要用到addEventListener
var btn1Obj = document.getElementById("btn1"); 
//element.addEventListener(type,listener,useCapture); 
btn1Obj.addEventListener("click",method1,false); 
btn1Obj.addEventListener("click",method2,false); 
btn1Obj.addEventListener("click",method3,false);
执行顺序为method1->method2->method3

Javascript代码   收藏代码
  1. <div id="div_test"> <input type="button" id="btn_test" value="按钮" /> </div>  
  2.   
  3. <script type="text/javascript">  
  4. <!--  
  5. window.onload = function() {  
  6.     document.getElementById("div_test").attachEvent("onclick", test1, false);  
  7.     document.getElementById("btn_test").attachEvent("onclick", test2, false);  
  8. }  
  9. function test1() {  
  10.     alert("外层div触发")  
  11. }  
  12. function test2() {  
  13.     alert("内层input触发")  
  14. }  
  15. //-->  
  16. </script>  
分享到:
评论

相关推荐

    attachEvent和addEventListener 使用方法

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

    javascript attachEvent和addEventListener使用方法

    使用 addEventListener 方法时,还可以指定第三个参数 `useCapture`,这个参数是一个布尔值,表示事件监听器是在捕获阶段还是冒泡阶段被调用。如果设置为 `true`,则在捕获阶段调用;如果设置为 `false`,则在冒泡...

    document.addEventListener使用介绍

    代码如下: function 某函数(event){ // 方法执行 } addEventListener里最后一个参数决定该事件的响应顺序; 如果为true事件执行顺序为 addEventListener —- 标签的onclick事件 —- [removed] 如果为false事件的...

    addEventListener 的用法示例介绍

    `addEventListener` 是JavaScript中用于添加事件监听器的方法,它允许我们为同一个元素绑定多个事件处理函数,这对于构建复杂的交互式网页非常有用。在不同的浏览器环境中,`addEventListener` 的使用略有差异,尤其...

    Js on及addEventListener原理用法区别解析

    JavaScript中的事件处理方式有两种主要的形式:`on`属性和`addEventListener`方法。这两种方式在处理事件时有着不同的特性和用法,理解它们的区别和应用场景对于编写高效、可维护的JavaScript代码至关重要。 首先,...

    addeventlistener监听scroll跟touch(实例讲解)

    接下来,我们讨论`addEventListener`的使用方法。这个方法接受四个参数: 1. `name`:要监听的事件名称,如`'touchstart'`、`'touchmove'`、`'touchend'`或`'scroll'`。 2. `callback`:事件发生时执行的回调函数。 ...

    js中addEventListener()与removeEventListener()用法案例分析

    在JavaScript中,`addEventListener()` 和 `removeEventListener()` 是两个非常重要的事件处理方法,它们用于向DOM元素添加或移除事件监听器。理解这两个方法的工作原理对于编写交互式的Web应用程序至关重要。 `...

    动态的绑定事件addEventListener方法的使用

    在本文中,我们将深入探讨`addEventListener`方法的使用,这对于创建响应式的Web应用至关重要。 `addEventListener`是DOM(文档对象模型)级别2事件处理程序的一部分,它允许我们为一个元素添加一个或多个事件...

    JavaScript使用addEventListener添加事件监听用法实例

    本文实例讲述了JavaScript使用addEventListener添加事件监听用法。分享给大家供大家参考。具体实现方法如下: &lt;!DOCTYPE html&gt; &lt;html lang=en&gt; &lt;head&gt; &lt;title&gt;This text is the title of the...

    window.addEventListener来解决让一个js事件执行多个函数

    可能你也碰到过这种情况,就是在js的代码中用了[removed]后...至于attachEvent和addEventListener的用法,可以自己Google或百度一下。 代码如下: if (document.all){ window.attachEvent(‘onload’,函数名)//IE中 } els

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

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

    JS中onclick与addEventListener的区别详解

    在JavaScript中,`onclick`和`addEventListener`是两种常见的用于为HTML元素添加点击事件处理程序的方法,它们在处理事件上有着显著的区别。 1. `onclick`属性: - 使用方式:`element.onclick = function () {}` ...

Global site tag (gtag.js) - Google Analytics