js事件流:捕获阶段和冒泡阶段

简介: js事件流:捕获阶段和冒泡阶段

事件流:

事件流包含三个阶段:

事件捕捉阶段:事件开始由顶层对象触发,然后逐级向下传播,直到目标元素;

处于目标阶段:处在绑定事件的元素上;

事件冒泡阶段:事件由具体的元素先接收,然后逐级向上传播,直到不具体的元素;

铺货阶段.png

通过代码示例说明:

<style>
  #a {
    width: 300px;
    height: 300px;
    background-color: #eeeeee;
  }
  #b {
    width: 200px;
    height: 200px;
    background-color: #666666;
  }
  #c {
    width: 100px;
    height: 100px;
    background-color: green;
  }
</style>

<div id="a">
  最外层的元素
  <div id="b">
    中间的元素
    <div id="c">
      最里面的元素
    </div>
  </div>
</div>

<script>
  const list = ["a", "b", "c"];

  for (let elementId of list) {
    document.getElementById(elementId).addEventListener(
      "click",
      function () {
        console.log("捕获阶段: ", this.firstChild.textContent.trim());
      },
      true
    );

    document.getElementById(elementId).addEventListener(
      "click",
      function () {
        console.log("冒泡阶段", this.firstChild.textContent.trim());
      },
      false
    );
  }
</script>

点击最里边的元素触发结果如下:

点击最里边的元素触发结果如下:.png

参考

  1. JavaScript事件委托与事件冒泡
  2. HTML DOM 元素对象
            </div>
目录
相关文章
|
存储 缓存 固态存储
HBase 性能调优第一弹:内存篇
这是使用 HBase 最不可避免的一个话题,就是 HBase 的性能调优,而且通常建立在我们对 HBase 内部运行机制比较了解的基础上进行的,因此无论怎么说,调优这块都是一个相对复杂的事情。这一篇我们先来介绍与 HBase 内存最相关的调优内容。 1. 合理配置 JVM 内存 这里首先涉及 HBase 服务的堆内存设置。一般刚部署的 HBase 集群,默认配置只给 Master 和 RegionServer 分配了 1G 的内存,RegionServer 中 MemStore 默认占 0.4 即 400MB 左右的空间,而一个 MemStore 刷写阈值默认 128M,所以一个 Regi
1249 0
|
Oracle 关系型数据库 Linux
DM8重做日志文件和归档管理
重做日志文件,用来保存redo日志,redo日志默认2个,循环使用,不断覆盖,联机日志由系统自动切换,不能手动切换,联机日志过小,会制造日志频繁切换,过大则浪费磁盘空间。
DM8重做日志文件和归档管理
|
存储 人工智能 供应链
阿里云发布飞天智算平台,铸就数字经济云服务底座
数字经济蝶变需要强大算力支撑。
1130 0
阿里云发布飞天智算平台,铸就数字经济云服务底座
|
前端开发 容器
用CSS实现超美星空特效
最近真是越来越对CSS感兴趣了,于是再来整一手,夜晚的星星,再配合上皎洁的月光,这唯美的星空,它来了! 今天带领大家,用CSS实现一下,这美丽的星空。
|
设计模式 测试技术 API
干货 | 通用 api 封装实战,带你深入理解 PO
干货 | 通用 api 封装实战,带你深入理解 PO
|
安全 Unix Shell
看完这篇 教你玩转渗透测试靶机vulnhub——DC8
看完这篇 教你玩转渗透测试靶机vulnhub——DC8
626 0
看完这篇 教你玩转渗透测试靶机vulnhub——DC8
|
弹性计算 运维 监控
阿里云控制台门户升级,V2.0 乘风破浪来了!
阿里云控制台门户2.0开辟场景化,跨产品“全局视角”资源管理利器。 针对多入口、碎片化的产品控制台导致用户使用成本上升的问题,阿里云控制台门户以工作场景为出发点,为中小企业级用户提供了场景化的管理能力,包括“产品与服务““资源管理”“安全中心”场景等。同时,引入优质生态合作伙伴共建云管工具与解决方案,支持控制台内一键启用。
阿里云控制台门户升级,V2.0 乘风破浪来了!
|
SQL 弹性计算 运维
基于HBR的云上统一备份
混合云备份(简称HBR)是一种简单易用且高性价比的在线备份服务,可以为阿里云ECS,NAS,OSS以及自建机房内的各类数据提供安全,高效的保护。
1043 0
基于HBR的云上统一备份
|
Windows
windows上的"文件夹和搜索选项"是灰色的不能点击解决办法
windows上的"文件夹和搜索选项"是灰色的不能点击解决办法
3546 0
windows上的"文件夹和搜索选项"是灰色的不能点击解决办法
|
存储 Linux Python
Python编程:读取pdf、pptx、docx、xlsx文件的页数
Python编程:读取pdf、pptx、docx、xlsx文件的页数
1103 0