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

  • 相关阅读:
    使用Apache Curator监控Zookeeper的Node和Path的状态
    mongo创建用户
    window下关闭nginx
    spring 下载地址
    Quartz Spring与Spring Task总结
    oracle 11g 空表也导出
    修改oracle字符集
    linux 查看最大文件
    JAVA https证书相关
    抽象类与接口
  • 原文地址:https://www.cnblogs.com/vickylinj/p/14288938.html
Copyright © 2011-2022 走看看