• javascript中addEventListener(attachEvent)具体解释


    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>
  • 相关阅读:
    Windows系统自带工具的 cmd 命令
    阿里巴巴集团2016校园招聘-Python工程师笔试题(附加题+部分答案)
    小米3刷机说明
    第3章 常用运算符
    第1章Java入门体验
    jQuery表单验证案例
    jQuery超链接提示,提示跟随鼠标动
    [转载]我的Java后端书架 (2016年暖冬4.0版)
    PHP代码重用与函数编写
    PHP数组操作
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7383929.html
Copyright © 2020-2023  润新知