什么是时间冒泡?

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

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>
相关推荐
万少11 小时前
用腻了 WorkBuddy 的默认界面?这个开源小工具给它换上了毛玻璃
前端·javascript·后端
To_OC13 小时前
LC 15 三数之和:双指针不难,难的是把去重做对
javascript·算法·leetcode
触底反弹13 小时前
🔥 前端也能玩转 AI 流式输出!从二进制流到打字机效果,一篇讲透
javascript·人工智能·node.js
胡萝卜术13 小时前
深度重构:Agent Skills——从 Prompt 工程到能力工程
javascript·架构·github
海上彼尚15 小时前
Nodejs也能写Agent - 16.LangGraph篇 - 条件分支与循环
前端·后端·langchain·node.js
To_OC16 小时前
从 “卡死半天” 到 “打字机效果”:大模型流式输出前端实现全记录
前端·javascript·llm
rockey62716 小时前
基于AScript的JavaScript脚本语言发布啦
javascript·c#·.net·js·script
SoaringHeart16 小时前
Flutter最佳实践:键盘辅助视图输入框天添加图片附件
前端·flutter
kyriewen16 小时前
我看完这篇安全论文——AI推荐的npm包,92%是编出来的
前端·javascript·ai编程
心中有国也有家17 小时前
AtomGit Flutter 鸿蒙客户端:Canvas 绘制进阶-路径、渐变与混合模式
android·javascript·flutter·华为·harmonyos