美文网首页
JS复习-JS中事件的捕获与冒泡

JS复习-JS中事件的捕获与冒泡

作者: fanfan_9597 | 来源:发表于2019-07-11 15:26 被阅读0次

什么是捕获?什么是冒泡?

给元素绑定事件会经历三个阶段:一:捕获阶段(capture phase)--先从根元素流向目标元素;二:目标阶段(target phase)--在目标元素上的事件被触发;三:冒泡阶段(bubbling phase)--目标元素流向根元素

就像你中午放学回家吃个饭,这件事情一定经历三个阶段:一:回家阶段-- 从学校出发-->到你家楼下-->走到门口-->进门 二:目标阶段-- 坐下吃饭 三:去学校阶段-- 出门-->走到你家楼下-->回到学校

来看一个例子

<html>
    <table>
        <tbody>
            <tr>
                <td>Shady Grove</td>
                <td>Aeolian</td>
            </tr>
            <tr>
                <td>Over the River,Charlie</td>
                <td>Dorian</td>
            </tr>
        </tbody>
    </table>
</html>
image.png

点击这个元素的事件流的图如下

image.png

可以很清晰地看到给【over the river,charlie】这个td元素绑定的点击事件的事件流经历了三个阶段:

  1. 捕获阶段 window->document->html->body->table->tbody->tr

  2. 目标阶段 td【over the river,charlie】

  3. 冒泡阶段 tr->tbody->->table->body->html->document->window

所以如果给元素绑定的事件的useCapture默认为true,表示在捕获阶段触发,改为false,表示在冒泡阶段触发。

也就是说事件流一定是按上面的顺序经过这三个阶段。设置true和false的不一样就是,比如在上面回家吃饭的事件中,你给到楼下绑定了一个【吃辣条】的事件,true就表示在捕获阶段即回家的过程中的到楼下就吃了辣条,false表示在冒泡阶段即去学校的过程中的到楼下吃辣条。

关于事件捕获,事件冒泡的引用场景,有事件委托等。下面引用两篇文章。
https://www.jianshu.com/p/8311f782f70d
https://juejin.im/post/5aab87f9f265da23994e47dc#heading-2

相关文章

  • JS事件相关基础

    js事件: 键盘事件: JS中的事件冒泡和事件捕获: 1、事件冒泡。如下代码: 点击button事件,连同父元素绑...

  • JS复习-JS中事件的捕获与冒泡

    什么是捕获?什么是冒泡? 给元素绑定事件会经历三个阶段:一:捕获阶段(capture phase)--先从根元素流...

  • vue 阻止事件冒泡,捕获方法

    要想了解 VUE 阻止事件冒泡和捕获方法,首先要了解一下 JS 事件和 JS 阻止事件冒泡,捕获方法 1. js ...

  • js 阻止冒泡 阻止默认事件

    js冒泡和捕获是事件的两种行为,使用event.stopPropagation()起到阻止捕获和冒泡阶段中当前事件...

  • 默认事件

    js冒泡和捕获是事件的两种行为,使用event.stopPropagation()起到阻止捕获和冒泡阶段中当前事件...

  • 图解事件委托

    事件捕获和事件冒泡 说到事件委托我们就不得不提JS中事件的整个历程中的两个机制:事件捕获和事件冒泡。 然而要说这事...

  • 事件基础(2)

    js事件的三个阶段:捕获,目标,冒泡 IE:IE事件流是事件冒泡流 Netscape事件流是事件捕获流 IE事件...

  • js 与 js 冒泡与捕获事件

    jQuery 是一个 JavaScript 库,jQuery 极大地简化了 JavaScript 编程,在有关jq...

  • js事件机制

    一、js事件机制三个阶段:事件捕获、事件目标处理函数、事件冒泡 js中事件执行的整个过程称之为事件流,分为三个阶段...

  • JS事件冒泡与捕获

    什么是冒泡与捕获 以click点击事件为例。假如我们有一个多层结构标签。如下图,是4个div嵌套。每个div都有点...

网友评论

      本文标题:JS复习-JS中事件的捕获与冒泡

      本文链接:https://www.haomeiwen.com/subject/brrdkctx.html