2016 - 2024

感恩一路有你

js事件冒泡与事件委托 事件捕获和事件冒泡什么意思?

浏览量:1551 时间:2021-03-14 01:12:12 作者:admin

事件捕获和事件冒泡什么意思?

谢谢

关于事件捕获和事件冒泡,我写了一篇关于JS事件流和DOM事件处理程序的文章https://www.toutiao.com/i6392562710684369410/如果你有兴趣,可以直接去看看。

下面是对事件流知识的简要介绍。

事件流可以理解为页面上DOM节点之间传播的事件序列,主要分为三个过程:事件捕获阶段事件目标阶段事件冒泡阶段。您可以从下图中看到事件传播过程。

事件捕获

事件捕获的思想是,页面上最外层的节点首先接收事件,然后逐步将它们传播到内层元素。例如,在上面的示例中,事件捕获阶段的传播顺序是:window--> document--> HTML--> body--> table--> tbody--> tr--> td

event bubble

事件bubble与事件捕获正好相反。它的思想是让最里面的节点先接收事件,然后一步一步地传播到最外层。在上面的例子中,事件冒泡阶段的传播顺序是:TD--> tr--> tbody--> table--> body--> HTML--> document--> window

event target stage

无论是在事件传播阶段还是在事件冒泡阶段,它都必须经过事件目标阶段,这意味着要处理DOM节点的事件。

iframe框架页面中弹出窗口如何使用JS回调?

可能是起泡引起的。别再冒泡了。JS执行分为两个阶段,一个是捕获,然后是bubble。例如,您将一个小div嵌套在一个大div中,当您单击一个小div时,两个div都将绑定到click events。这两个div事件都将被触发。这是因为JS的起泡机制。我不知道你用什么浏览器。如果它是W3C标准,那么可以使用e.stoppropagation来取消事件冒泡。如果是ie,你可以直接用window.event.chancel泡泡=True就可以了。具体用法在Google和NCR上。希望能对你有所帮助。或许不是。

JS如何阻止事件冒泡?

JavaScript禁止冒泡。你可以用这个。Stoppropagation()方法,可以完全防止事件冒泡。

如果<P>在<div>中,则<P>有onclick事件,<div>也有onclick事件。为了在不触发父元素的click事件的情况下触发<P>的click事件,需要调用以下函数:函数stopbuble(e){if(e&&振幅停止){//non ie e.stoppropagation()}否则{//iewindow.event.cancelBubble=真}}<A onclick=“”>如果要防止触发默认事件,即默认事件,需要调用以下函数:函数stopdefault(E){//block default browser action(W3C)if(E&;e、 preventdefault)e.preventdefault()//IE中阻止默认浏览器操作的方法window.event.returnValue=false返回false}

js事件冒泡与事件委托 js实现冒泡排序 js事件循环机制阮一峰

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。