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>
目录
相关文章
|
监控 关系型数据库 程序员
|
域名解析 存储 网络协议
Linux中搭建主从DNS服务器
搭建主从DNS架构以提升DNS服务的高可用性、负载均衡和数据冗余。主服务器配置涉及编辑`/etc/named.conf`,设置监听IP和允许查询的范围,并定义主区域及允许的数据传输。从服务器配置需指定为奴隶类型,并指明主服务器的IP。测试表明正反向查询解析均正常。注意配置文件的语法正确性和权限设置。
453 0
|
数据库
基于Jeecgboot前后端分离的ERP系统开发代码生成(六)
基于Jeecgboot前后端分离的ERP系统开发代码生成(六)
539 0
|
人工智能 自然语言处理 安全
“智海-录问”法律大模型正式发布并开源在魔搭社区,行业首个法律大模型评估指标体系公开
8月21日,由中国工程院院刊《Engineering》、中国人工智能学会、中国工程院院刊信息与电子工程领域分刊《FITEE》联合主办的Engineering大讲堂暨“智行中国”第五期系列论坛在浙江大学举行,论坛围绕基座模型基础理论、AI+X垂直领域赋能应用及基座模型评测体系等问题邀请领域专家展开了深入探讨。
|
SQL 缓存 Kubernetes
K8S网络诊断之要命的5S抖动
某用户反馈8月4号凌晨00:30分左右,生产业务平均RT从100ms飙升到1000ms且抖动较大,如图1-1所示,(绿线为8月3号同时间段的RT,蓝线为异常后的RT)
1525 0
|
安全 Java 编译器
❤️【Java】图文深入解析 继承、多态、接口(超详细,小白一看就会)❤️
看完本章文,你会学习到 包,继承,多态思想,抽象类,接口,具体看目录即可。
455 0
❤️【Java】图文深入解析 继承、多态、接口(超详细,小白一看就会)❤️
|
SQL Java 数据库连接
第05篇:Mybatis的SQL执行流程分析
前面我们知道了Mybatis是如何进行代理的, 但是最终 `PlainMethodInvoker` 中是如何将参数转组装成Sql,并执行处理Sql返回值的地方还都没看到。本篇我们就带着如下三个问题开始我们的探索吧。
543 0
第05篇:Mybatis的SQL执行流程分析
|
前端开发 关系型数据库 大数据
2019必看8大技术大会&300+公开课全集(500+PDF下载)
2019年即将结束之际,开发者社区小编整理了年度最值得关注的技术大会直播合辑,快来围观吧~
42237 0
2019必看8大技术大会&300+公开课全集(500+PDF下载)
|
编解码 IDE 数据挖掘
使用Jupyter近2年,我离不开这6组快捷键
Jupyter一直是个人非常喜爱的coding环境,也着实适用于简单的数据分析和探索。前期分享了个人使用Jupyter的3个实用技巧,今天本文就再来总结6组常用快捷键,其使用频率之高和由之而带来的便捷程度都称得上可观!
743 0
使用Jupyter近2年,我离不开这6组快捷键