当前位置: 首页 > wzjs >正文

手机怎样创建网站郑州网站建设用户

手机怎样创建网站,郑州网站建设用户,有没有专业做二维码连接网站在,连云港网站制作公司哪家好在 JavaScript 中,事件传播(Event Propagation)描述了当一个事件触发时,事件如何在 DOM 树中从触发元素(即事件的目标)向上传播或向下传播。 事件传播有两个主要阶段:捕获阶段(Capt…

在 JavaScript 中,事件传播(Event Propagation)描述了当一个事件触发时,事件如何在 DOM 树中从触发元素(即事件的目标)向上传播或向下传播

事件传播有两个主要阶段:捕获阶段(Capture Phase)和冒泡阶段(Bubble Phase)。

1. 捕获阶段(Capture Phase)

  • 含义:事件从 document 元素开始,沿着 DOM 树向目标元素传播,直到触发事件的元素。也叫事件捕获阶段
  • 传播顺序:捕获阶段是从外层的元素到目标元素的过程。即,先触发文档级别的监听器,然后是父元素,直到目标元素。
事件捕获过程:
document -> html -> body -> ... -> targetElement
  • 捕获阶段的作用是捕捉到事件并做出处理,通常可以对事件做一些预处理。
  • 默认情况下,addEventListenercapture 选项是 false,即不启用捕获阶段

2. 冒泡阶段(Bubble Phase)

  • 含义:事件从触发的目标元素开始,沿着 DOM 树向上传播,直到 document 元素。也叫事件冒泡阶段
  • 传播顺序:冒泡阶段是从目标元素开始,逐层向上传播到根元素。
事件冒泡过程:
targetElement -> ... -> body -> html -> document
  • 冒泡是事件传播的默认行为,它是大多数开发者所熟悉的事件传播方式。
  • 事件会在目标元素被触发后,从目标元素向上传递,直到到达 document

捕获与冒泡的使用

addEventListener 方法可以通过第三个参数 capture 来控制事件监听器是在捕获阶段触发还是冒泡阶段触发。

控制传播阶段
  • 捕获阶段capture: true):监听器会在事件从根元素到目标元素的过程中触发。
  • 冒泡阶段capture: false):监听器会在事件从目标元素向上传播的过程中触发。

默认情况下,addEventListener 会在冒泡阶段触发事件(capture: false)。要使事件在捕获阶段触发,可以将 capture 设置为 true

示例代码:

捕获阶段:
const parentElement = document.getElementById("parent");
const childElement = document.getElementById("child");// 捕获阶段监听器
parentElement.addEventListener("click", () => {console.log("捕获阶段: 父元素被点击");
}, true); // capture: truechildElement.addEventListener("click", () => {console.log("捕获阶段: 子元素被点击");
}, true); // capture: true
冒泡阶段:
const parentElement = document.getElementById("parent");
const childElement = document.getElementById("child");// 冒泡阶段监听器
parentElement.addEventListener("click", () => {console.log("冒泡阶段: 父元素被点击");
}, false); // 默认,冒泡阶段childElement.addEventListener("click", () => {console.log("冒泡阶段: 子元素被点击");
}, false); // 默认,冒泡阶段
输出:
  1. 如果点击了 childElement

    • 捕获阶段:parentElementchildElement(按顺序)
    • 冒泡阶段:childElementparentElement(按顺序)

捕获与冒泡的关系

捕获和冒泡是事件传播的两个阶段,它们是独立的:

  • 捕获阶段:从最外层的元素document开始到目标元素。
  • 冒泡阶段:从目标元素开始到最外层document的元素。

通过事件监听器的 capture 选项,开发者可以选择在哪个阶段处理事件。


阻止事件传播

你可以通过 event.stopPropagation() 方法来阻止事件在捕获和冒泡阶段继续传播。

  • 阻止捕获与冒泡

    event.stopPropagation();
    
  • 阻止默认行为:比如阻止链接跳转:

    event.preventDefault();
    

http://www.dtcms.com/wzjs/362354.html

相关文章:

  • 自己怎么样做网站矿产网站建设价格
  • 邵阳网站建设网络营销都有哪些形式
  • 腾讯服务器做网站电商网站项目
  • 网络服务器配置与管理实训小结福建seo学校
  • 网站建设案例资料网站建设网络营销
  • 哪个网站可以做图片seo推广有哪些方式
  • 用easyui做的网站百度浏览器打开
  • wordpress进入站点百度引擎
  • 网站的购物车怎么做外贸网站平台
  • 湖北武汉最新新闻seo搜索引擎优化排名
  • 可以做打赏视频的网站今日重大军事新闻
  • 湖南门户网站设计公司广州营销型网站
  • 网站域名注册机制郑州seo技术顾问
  • 一个网站价格今日nba比赛直播
  • 二手商品网站怎么做seo外链推广工具下载
  • wordpress升级php版本百度seo关键词排名推荐
  • word如何做网站链接谷歌搜索引擎香港免费入口
  • 西安旅游服务网站建设seo网站优化方案书
  • 商城手机网站设计泉州百度竞价开户
  • 成都官方网站建设巨量数据分析入口
  • 手机如何开发软件单页站好做seo吗
  • 建设视频网站的视频源免费行情软件网站下载大全
  • 英语网站新增两个栏目襄阳seo
  • 政府网站节约化建设方案seo包年优化费用
  • 专门做预言的网站优化游戏性能的软件
  • 计算机毕业设计作品网站百度快照什么意思
  • 深圳包装设计公司排名前十强搜索引擎优化策略
  • 功能性的网站云计算培训
  • 做外贸要看哪些网站好网站域名怎么查询
  • 网站更新方案搜索引擎网站排名优化方案