• addEventListener 和attachEvent用法


    对于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

  • 相关阅读:
    040 Android TCP协议的Socket通信
    039 Android SQLite数据库(了解)
    Navicat 连接Sqlite数据库的方法和步骤
    038 Android File文件存储功能
    037 Android SharedPreferences应用实例(记录App的使用次数)
    036 Android SharedPreferences(数据存储,需掌握)
    035 Android 广播(BroadCastReceiver)
    SharePoint2013打印列表项对象
    SharePoint2013所有列表绑定到DropDownList1中
    通过主机标头实现多个SharePoint Web应用程序共用一个端口(
  • 原文地址:https://www.cnblogs.com/jazzka702/p/1682636.html
Copyright © 2020-2023  润新知