addEventListener 有三个參数:第一个參数表示事件名称(不含
on,如 “click”)。第二个參数表示要接收事件处理的函数;第三个參数为 useCapture。样例例如以下:

 <button type="button">点击</button>
<img src="11 (6).jpg" alt="" style="display:block">
<script type="text/javascript">
var obj=document.getElementsByTagName("button")[0];
function fun(){
    alert(0);
    }
function fun2(){
    alert(1);
    }
function fun3(){
    alert(2);
    }
//假设这样写,那么将会仅仅有fun3被运行,JS没有重载(JAVA中能够依据參数的不同来做到重载。即使函数的名字一样,可是JS不行,JS能够利用argument.length和if推断来模拟重载)
obj.onclick=fun;
obj.onclick=fun2;
obj.onclick=fun3;
//3个函数都会运行。运行顺序为method1->method2->method3,可是IE8及下面不支持(用attachEvent
if(window.addEventListener){
    obj.addEventListener("click",fun,false);  
    //关于第三个參数的作用,请看:http://chinazblz.blog.163.com/blog/static/939391732010424325598/和addEventListener2.html
    obj.addEventListener("click",fun2,false);  //第三个參数默认值为false,所以假设不写其值默觉得false
    obj.addEventListener("click",fun3,false);
}
else if(window.attachEvent){
    obj.attachEvent("onclick",fun); //注意attachEvent没有第3个參数
    obj.attachEvent("onclick",fun2);  //注意这个onclick,而不是click
    obj.attachEvent("onclick",fun3);
    //运行顺序刚好相反。为method3->method2->method1,要想和FF效果一样。能够把函数反过来写,即:
    //obj.attachEvent("onclick",fun3);
    //obj.attachEvent("onclick",fun2);
    //obj.attachEvent("onclick",fun);
}
</script>

关于第三个參数的应用差别例如以下:

 <div id="div_test"><input id="btn_test" type="button" value="web前端开发-css119" /></div>
<script type="text/javascript">// <![CDATA[
window.onload=function(){
    document.getElementById("div_test").addEventListener("click",test1,true); //把第3个參数改为false看看效果
    document.getElementById("btn_test").addEventListener("click",test2,true); //把第3个參数改为false看看效果
    }
function test1(){
    alert("外层div触发")
    }
function test2(){
    alert("内层input触发")
    }
// ]]></script>

javascript中addEventListener(attachEvent)具体解释的更多相关文章

  1. Javascript中addEventListener和attachEvent的区别

    在利用javascript为DOM Element添加事件处理程序时,如果要想下兼容IE6,7时,就不得不考虑addEventListener与attachEvent的异同. 1.首先说下addEve ...

  2. JavaScript中的attachEvent和addEventListener

    attachEvent和addEventListener在前端开发过程中经常性的使用,他们都可以用来绑定脚本事件,取代在html中写obj.onclick=method. 相同点: 它们都是dom对象 ...

  3. javascript中标准事件流addEventListener介绍

    addEventListener-开始 前面零散地写了些关于 addEventListener 的内容,觉得比较散,有些地方可能也说得不够清楚明白,所以决定以连载的形式从头到尾再写一篇. addEve ...

  4. JavaScript中的事件冒泡?事件传播的解释

    注:本文来源  可译网 事件冒泡是你在学习javaScript旅途中遇到的一个术语,它涉及到当一个元素被另一个元素嵌套时调用事件处理的顺序,并且两个元素注册了同一个事件(例如,点击事件). 但是事件冒 ...

  5. Javascript 的addEventListener()及attachEvent()对比

    Mozilla中: addEventListener的使用方式: target.addEventListener(type, listener, useCapture); target: 文档节点.d ...

  6. Javascript 的addEventListener()及attachEvent()区别分析

    大家都知道事件的用法就是当某个事件(状况)被触发了之后就会去执行某个Function, 尤其是Javascript, 在当红AJAX的催化下, 了解Javascript的Event用法更加重要, 在这 ...

  7. JavaScript中‘this’关键词的优雅解释

    本文转载自:众成翻译 译者:MinweiShen 链接:http://www.zcfy.cc/article/901 原文:https://rainsoft.io/gentle-explanation ...

  8. JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念

    JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念 <html> <body> <script type="t ...

  9. javascript中window,document,body的解释

    解释javascript中window,document,body的区别: window对象表示浏览器中打开的窗口,即是一个浏览器窗口只有一个window对象. document对象是载入浏览器的ht ...

随机推荐

  1. Java中static、final用法小结(转)

    一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引 ...

  2. SIMATIC PID温度控制

    SIMATIC PID温度控制 // VAR_INPUT ------------------------------------------------------------------- #if ...

  3. Serial Wire Debug (SWD) Interface -- PSoc5

    PSoC 5 supports programming through the serial wire debug (SWD) interface. There are two signals in ...

  4. BoundingBoxUV与BoundingBoxXYZ

    start UIApplication app = commandData.Application; Document doc = app.ActiveUIDocument.Document; ); ...

  5. 【CentOS】centos7 稳定使用版本,centos镜像的下载

    命令: cat /etc/redhat-release 下载地址: https://wiki.centos.org/Download 下载版本:

  6. 在NDK C++线程中如何调用JAVA API

    from://http://www.eoeandroid.com/thread-150995-1-1.html 在NDK中创建的线程中, 只允许调用静态的Java API. 当在线程中调用env-&g ...

  7. C++笔记:头文件的作用和写法

    from://http://ceeji.net/blog/c%E7%AC%94%E8%AE%B0%EF%BC%9A%E5%A4%B4%E6%96%87%E4%BB%B6%E7%9A%84%E4%BD% ...

  8. CSS:如何学习 CSS?

    马上该转战互联网领域了,在此总结一下 CSS 学习的思路. 理解 CSS 的基本语法. 理解盒子模型. 理解文档流和定位. 理解浮动和清除. 理解各种 CSS 样式. 目前发现的最好的资源是:http ...

  9. Unity5中新的Shader体系简析

    一.Unity5中新的Shader体系简析 Unity5和之前的书写模式有了一定的改变.Unity5时代的Shader Reference官方文档也进一步地变得丰满. 主要需要了解到的是,在原来的Un ...

  10. transitionFromView方法的使用

    transitionFromView方法的使用 效果 源码 // // ViewController.m // TransitionFromView // // Created by YouXianM ...