• JavaScript 阻止默认时间和冒泡时间


    <!DOCTYPE HTML>
    <html>
    <head>
    <title>event cancel</title>
    </head>

    <body>

    <a href="https://www.baidu.com/">baidu</a>


    <div style=" 400px; height: 300px; background: red;" id="d1">
    <div style=" 250px; height: 250px; background: yellow;" id="d2">
    <button id="btn1">click me</button>
    </div>
    </div>

    </body>
    </html>

    <script type="text/javascript" >


    document.getElementsByTagName("a")[0].onclick = function(e){
    cancelHandler(e); //取消a标签打开连接的事件, 然后执行click事件
    alert("cancel the default event!");
    }




    function cancelHandler (event) {
      var event = event || window.event; // for ie

      //取消事件相关的默认行为
      if(event.preventDefault) event.preventDefault(); //标准技术
      if(event.returnValue) event.returnValue = false;

      return false; //用于处理对象属性注册的处理程序。
    }


    //测试冒泡时间

    document.getElementById("d1").onclick = function () {
      alert("d1 clicked");
    }

    document.getElementById("d2").onclick = function () {
      alert("d2 clicked");  //点击d2会触发两次点击时间, 一次是d2自己的, 第二次是父亲d1的

    }

    document.getElementById("btn1").onclick = function (e) {
      e.stopPropagation(); //阻止向上冒泡
      alert("button clicked");
    }



    </script>

  • 相关阅读:
    事务传播机制,搞懂。
    洛谷 P1553 数字反转(升级版) 题解
    洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here 题解
    洛谷 P1055 ISBN号码 题解
    洛谷 P2141 珠心算测验 题解
    洛谷 P1047 校门外的树 题解
    洛谷 P1980 计数问题 题解
    洛谷 P1008 三连击 题解
    HDU 1013 题解
    HDU 1012 题解
  • 原文地址:https://www.cnblogs.com/facial/p/5479873.html
Copyright © 2020-2023  润新知