什么是时间冒泡?

时间冒泡是指当一个元素触发一个事件时,事件会像水泡一样,从触发元素向它的所有父节点传播,一直到根节点都会接收到此事件

1。如果父元素中注册了相应的事件处理函数,那么尽管事件在子节点触发的,在父元素上注册的事件处理函数同样会被触发1。

时间冒泡示例代码如下:

html 复制代码
<!DOCTYPE html>
<html>
<body>

<p id="demo">点击我,父元素会显示点击事件!</p>

<button id="myBtn">点击我</button>

<script>
document.getElementById("myBtn").addEventListener("click", function(event) {
  var eventType = event.type; //获取事件类型
  var target = event.target; //获取事件目标
  var parent = target.parentNode; //获取父元素
  while(parent !== null) { //循环遍历父元素
    if(parent.tagName === "P") { //如果父元素是p标签
      parent.textContent += "\n" + eventType + " 事件在 " + target.tagName + " 上被触发"; 
    }
    parent = parent.parentNode; //继续向上遍历
  }
});
</script>

</body>
</html>
相关推荐
程序员黑豆2 分钟前
鸿蒙应用开发中的单位详解:px、vp、fp、lpx
前端·harmonyos
像我这样帅的人丶你还30 分钟前
MCP + npm:给五年前的老系统接上AI
前端·javascript·agent
南一Nanyi37 分钟前
依赖注入和控制反转
前端·设计模式·nestjs
小村儿37 分钟前
连载14-实战篇--一个半月,我一个人和 Claude Code 搭出一套数字人工程
前端·后端·ai编程
愚公移码1 小时前
蓝凌EKP18产品:流程虚拟机(PVM)
java·开发语言·前端
promiseThen1 小时前
5 分钟上手 Markdown:标题到表格、代码块与简历实战
前端
web66liang1 小时前
webpack4+vue2项目使用 sass-embedded 导致的 DockerfIle 构建失败的问题
前端
Strayer1 小时前
拓扑管网 3D 可视化大屏demo:科技感(地图 + 拓扑 + 3D 空间)
前端·three.js·数据可视化
葬送的代码人生1 小时前
从 Vue 到 React:Tailwind CSS 布局 + BFF 代理实战
前端·react.js·架构
摸鱼老王不带81 小时前
不用后端,纯前端读出"网站眼里你的真实出口 IP"——聊聊 Cloudflare 的 cdn-cgi/trace
前端