zoukankan      html  css  js  c++  java
  • JS一个元素怎么绑定多个事件

    有时候一个一个元素要绑定多个事件,其实是分开写

    先看这个例子,我们预期它先执行alert1,然后是alert2,但事实上是没有alert1,因为覆盖了

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>绑定多个事件</title>
      <script>
        window.onload = function(){
          document.getElementById('btn').onclick = function () {
            alert(1);
          };
          document.getElementById('btn').onclick = function () {
            alert(2);
          };
        }
      </script>
    </head>
    <body>
      <button id="btn">点我</button>
    </body>
    </html>

    只需要使用addEventListener方法即可解决这个问题:

    <script>
        window.onload = function(){
          document.getElementById('btn').addEventListener('click', function(){
            alert(1);
          }, false);
          document.getElementById('btn').addEventListener('click', function(){
            alert(2);
          }, false);
        }
    </script>

    其中addEventListener的参数值得说一下,第一个参数是事件名称,没有on,第二个是回调函数,其实是浏览器调用的,第三个是 是否捕获阶段触发,一般设置为false,还有就是这个方法是先绑定的先执行

    另外,经过测试,发现这个addEventListener在IE8及一下版本不支持,可以使用attachEvent方法开替代,当然,是兼容处理

    这个用法如下:

    元素.attachEvent( 'onclick', function(){...} );

    这个方法是先绑定的后执行,当然,如果你这么介意顺序,就没必要分开绑定了

    转自:https://blog.csdn.net/qq_38238041/article/details/86797019

  • 相关阅读:
    缓存清理
    机器学习在电商领域三大应用,推荐,搜索,广告中商品排序
    并发和并行
    拷贝控制
    gitk
    git GUI Clients
    new delete
    Windows 安装 gcc
    C++ 运算符优先级
    iostream 操作符
  • 原文地址:https://www.cnblogs.com/vickylinj/p/14288938.html
Copyright © 2011-2022 走看看