阻止冒泡

Posted jiumen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阻止冒泡相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    #box1 
      width: 300px;
      height: 300px;
      background-color: red;
    

    #box2 
      width: 200px;
      height: 200px;
      background-color: green;
    

    #box3 
      width: 100px;
      height: 100px;
      background-color: blue;
    
  </style>
</head>
<body>
  <div id="box1">
    <div id="box2">
      <div id="box3">
      </div>
    </div>
  </div>
  <script>
    // 事件冒泡
    var box1 = document.getElementById(box1);
    var box2 = document.getElementById(box2);
    var box3 = document.getElementById(box3);

    var array = [box1, box2, box3];

    for (var i = 0; i < array.length; i++) 
      var box = array[i];
      box.onclick = function (e) 
        console.log(this.id);

        // Propagation 传播
        // 停止事件传播  取消冒泡
        // 标准的DOM方法
        // e.stopPropagation();
        
        // 取消冒泡  非标准的方式 老版本的IE支持
        e.cancelBubble = true;
      
    
   

  </script> 
</body>
</html>

 

以上是关于阻止冒泡的主要内容,如果未能解决你的问题,请参考以下文章

HTML如何阻止事件冒泡?求源码分析

vue阻止事件冒泡,事件穿透

js阻止冒泡和默认事件(默认行为)详解

js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件

JS-阻止冒泡事件与事件委托

JS如何阻止事件冒泡