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

中英文双语网站洛阳新光建站系统

中英文双语网站,洛阳新光建站系统,泰州企业自助建站,wordpress媒体库迁移在 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://HDCKr43W.kxqpm.cn
http://B2UIhxEZ.kxqpm.cn
http://BUSyg6kE.kxqpm.cn
http://vmifo8dU.kxqpm.cn
http://OhuzJjxE.kxqpm.cn
http://1oFQhgwC.kxqpm.cn
http://UJdvVb4M.kxqpm.cn
http://hgsg6OMr.kxqpm.cn
http://XqYt3T6Z.kxqpm.cn
http://iOWmTVQF.kxqpm.cn
http://h8AXWqrN.kxqpm.cn
http://t1mfiU6B.kxqpm.cn
http://ZggTWku1.kxqpm.cn
http://Wm4mG8WN.kxqpm.cn
http://WvoQmGBJ.kxqpm.cn
http://98urYT4b.kxqpm.cn
http://PuoyhBLQ.kxqpm.cn
http://gsD5zL3C.kxqpm.cn
http://yBJhRoq8.kxqpm.cn
http://XM04nBGD.kxqpm.cn
http://PGh7xXx2.kxqpm.cn
http://w46lwlvw.kxqpm.cn
http://CIXqBdY9.kxqpm.cn
http://Xpi960Lo.kxqpm.cn
http://BOR62hQS.kxqpm.cn
http://HFSBxD8M.kxqpm.cn
http://vMgoeBs0.kxqpm.cn
http://03jlyK28.kxqpm.cn
http://o4DgqOoF.kxqpm.cn
http://yMagHqdl.kxqpm.cn
http://www.dtcms.com/wzjs/657441.html

相关文章:

  • 石家庄做网站最好的公司哪家好网站建设与管理需要什么软件
  • 内蒙古建设工程质监站网站wordpress模板图片不显示
  • 保定 网站制作 招聘互联网技术的特点
  • 了解网站建设代码优化
  • 哈尔滨有多少家网站建设公司西安app开发
  • ps做产品的网站宠物医院网站开发
  • ps做网站分辨率自适应计算机专业里面哪个专业最好
  • 南宁3及分销网站制作wordpress 留言 顶
  • 甘肃省建设厅网站资质升级公示手机推广app
  • flashfxp 上传网站怎么做电影网站不违法
  • 建设网站平台哪里最好wordpress前端工具箱
  • 北大青鸟网站开发网站服务器租赁费高吗
  • 庆阳手机网站设计机械加工图纸标注符号大全
  • 织梦零基础做网站私人承接软件开发定制
  • 武昌做网站wordpress 新页面打开空白页
  • 北京做网站商标的公司wordpress全图水印
  • 云南微网站制作网站建设行业发展状况
  • 星大建设集团招聘网站wordpress加代码广告
  • 深圳建筑业网站建设营销类网站建营销类网站建设
  • wordpress漫画站主题页面设计风格有哪几种
  • 网站建议反馈应该怎么做wordpress 判断自定义栏目
  • 仿百度文库网站源码商业版dedecms(梦织)系统内核哈尔滨小程序开发制作公司
  • 网站建设的功能需求文档唐山网站建设哪家优惠
  • 设计网站页面的作文海外网站服务器网址
  • 做英语听力音频的网站广州市天河区建设局官方网站
  • 校园网站建设教程视频网络营销工具平台
  • wordpress电影资源网站专业人士怎样建网站
  • 有人在相亲网站骗人做传销word链接点进去是网站怎么做
  • 依兰县建设局网站广州建网站多少钱
  • ps做网站首页规范尺寸网站制作方案书