zoukankan      html  css  js  c++  java
  • javascript中attachEvent事件 跟 addEventListener 事件

    拷贝自 http://www.jb51.net/article/66111.htm

    本文实例讲述了javascript中attachEvent用法。分享给大家供大家参考。具体分析如下:

    一般我们在JS中添加事件,是这样子的

    obj.onclick=method

    这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢?

    1
    2
    3
    obj.onclick=method1
    obj.onclick=method2
    obj.onclick=method3

    如果这样写,那么只有最后绑定的事件,这里是method3会被执行,这个时候我们就不能用onclick这样的写法了,主角改登场了,在IE中我们可以使用attachEvent方法

    1
    2
    3
    btn1Obj.attachEvent("onclick",method1);
    btn1Obj.attachEvent("onclick",method2);
    btn1Obj.attachEvent("onclick",method3);

    使用格式是前面是事件类型,注意的是需要加on,比如onclick,onsubmit,onchange,执行顺序是

    method3->method2->method1

    可惜这个微软的私人方法,火狐和其他浏览器都不支持,幸运的是他们都支持W3C标准的addEventListener方法

    1
    2
    3
    btn1Obj.addEventListener("click",method1,false);
    btn1Obj.addEventListener("click",method2,false);
    btn1Obj.addEventListener("click",method3,false);

    执行顺序为method1->method2->method3

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    <head>
    <title>attachEvent</title>
    <script type="text/javascript">
    //第一种方式(微软的私人方法)
    function iniEvent() {
      var btn = document.getElementById("btn");
      btn.attachEvent("onclick", click1);
      btn.attachEvent("onclick", click2);
      btn.attachEvent("onclick", click3);
    }
    //第二种方式(火狐和其他浏览器)
    function iniEvent2() {
      var btn = document.getElementById("btn");
      btn.addEventListener("click", click1, false);
      btn.addEventListener("click", click2, false);
      btn.addEventListener("click", click3, false);
    }
    function click1() {
      alert('click1');
    }
    function click2() {
      alert('click2');
    }
    function click3() {
      alert('click3');
    }
    </script>
    </head>
    <body onload="iniEvent()">
    <input type="button" id="btn" value="attachEvent" />
    </body>
    </html>
  • 相关阅读:
    utf8.php
    common.php
    ubuntu 12.04 下 Vim 插件 YouCompleteMe 的安装
    Linux 获取文件夹下的所有文件
    poj 1659 Frogs' Neighborhood Havel-Hakimi定理 可简单图定理
    Huffman Coding 哈夫曼编码
    hdu 4778 Gems Fight! 博弈+状态dp+搜索
    print neatly 整齐打印 算法导论
    poj 2533 Longest Ordered Subsequence 最长递增子序列
    poj 3783 Balls 动态规划 100层楼投鸡蛋问题
  • 原文地址:https://www.cnblogs.com/a6948076/p/8301579.html
Copyright © 2011-2022 走看看