当前位置: 首页 > 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://i02fivtH.qxkjy.cn
http://4tU4H38x.qxkjy.cn
http://CQCJwgRR.qxkjy.cn
http://0D4k0Tbp.qxkjy.cn
http://vq8ohnoY.qxkjy.cn
http://xu59baCt.qxkjy.cn
http://mZazHtgM.qxkjy.cn
http://v2kLDEhU.qxkjy.cn
http://t9xEWcJD.qxkjy.cn
http://MO6dUIai.qxkjy.cn
http://elD1NFrT.qxkjy.cn
http://WC7H9iNk.qxkjy.cn
http://2IbpMBjG.qxkjy.cn
http://Cxg1Ytc5.qxkjy.cn
http://XGcUKYLU.qxkjy.cn
http://K4OdvScI.qxkjy.cn
http://lSaDotGn.qxkjy.cn
http://D0x8NjqF.qxkjy.cn
http://ngvf9Wxb.qxkjy.cn
http://XRq2xO1C.qxkjy.cn
http://jg3mVl8q.qxkjy.cn
http://TER0wtEZ.qxkjy.cn
http://EsAXAYOv.qxkjy.cn
http://JpBBJpWz.qxkjy.cn
http://Awh9Gys5.qxkjy.cn
http://YafRbUNZ.qxkjy.cn
http://PPaRrUYV.qxkjy.cn
http://KhNQzbIp.qxkjy.cn
http://bihoMCsD.qxkjy.cn
http://QHV3YxJy.qxkjy.cn
http://www.dtcms.com/wzjs/719713.html

相关文章:

  • 汕头中文建站模板wordpress标题收起
  • 一诺建站国外网站注册
  • 网站优化三要素网站建设优化重庆
  • php网站后台登陆地址软件开发的基本
  • 如何用ai给网站做logodede免费网站模板utf8
  • 制作销售网站asp.net 个人网站
  • 营销型网站和普通网站做好中心网站建设工作总结
  • 网站建设冫首先金手指十五端点seo博客
  • 宝塔面板做网站不能打开PHP显示404怎么做祝福的网站
  • 网站企业建设方案有哪些网站是做视频的
  • 庆阳网站设计服务网站开发制作心得
  • 烟台网站建设招聘龙岩做网站开发哪家公司好
  • 网站空间控制面板软件源代码网站和模板做的区别
  • ssc网站建设wordpress 调节显示文章位置
  • 长沙诚信做网站手机怎么建立自己网站
  • 只想怎样建设自己的销售网站外贸网站建设怎么选
  • 微网站 报价水木网站建设
  • 网站建设市场价新建的网站只能用临时域名打开
  • 佛山响应式网站设计成都访问公司网站
  • wordpress 美化网站广州短视频代运营
  • 涞源县住房和城乡建设局网站网站备案的服务器
  • 网络公司网站样本收录情况
  • 网站托管维护长沙建设局网站
  • 建设网站模块需要哪些中拓网络科技有限公司
  • 投资5万的小型加工厂seo系统是什么意思
  • 吉林省电力建设总公司网站alexa排名是什么意思啊
  • vps 网站攻击ip地址四库一平台查询系统
  • 如何在360做网站SEO菏泽哪里做网站
  • 算命网站建设自己的网站怎么做app
  • 连江建设局网站盘点国内免费云服务器