Blog
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)

HiuZing

🍑
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)
  • 前端面试题

  • JavaScript

    • JavaScript语法

    • JavaScipt对象

    • JavaScript实例

    • JavaScript浏览器BOM

    • JavaScript DOM

      • DOM事件流

        • 事件流
          • 事件处理程序
        • DOM操作

        • 事件对象

    • Vue2

    • port

    • CSS

    • Node.js

    • JavaScript优化

    • uniapp

    • Mini Program

    • TypeScript

    • 面向对象编程

    • UI组件

    • Plugin

    • Vue3

    • 性能优化

    • Axios

    • 状态管理

    • React

    • Mock

    • Icon

    • Template

    • 构建工具

    • 项目规范配置

    • Taro

    • SVG

    • React Native

    • 前端
    • JavaScript
    • JavaScript DOM
    • DOM事件流
    HiuZing
    2022-10-08
    目录

    事件流

    # 事件流

    事件流所描述的就是从页面中接受事件的顺序。

    # 事件冒泡

    具体-->不具体

    事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点,直到 document 对象。

    # 事件捕获

    不具体-->具体

    事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点应该最后接收到事件。事件捕获的用意在于在事件到达预定目标之前就捕获它以同样的 HTML 结构为例,说明事件捕获

    # DOM 事件流

    DOM2 级事件规定的事件流包括三个阶段:事件捕获阶段(Capture Phase)、处于目标阶段(Target Phase)和事件冒泡阶段(Bubbling Phase)。

    首先发生的是事件捕获,为截获事件提供了机会。 然后是实际的目标接收到事件。 最后一个阶段是冒泡阶段,可以在这个阶段对事件做出响应。

    • 当处于目标阶段,没有捕获与冒泡之分,执行顺序会按照 addEventListener 的添加顺序决定,现添加先执行。
    • 使用 stopPropagation() 取消事件传播时,事件不会被传播给下一个节点,但是,同一个节点上的其他监听器还是会执行。如果想要同一层级的监听器也不执行,可以使用 stopImmediatePropagation()。
    • preventDefault() 只是阻止默认行为,跟 JavaScript 的事件传播一点关系都没有。
    • 一旦发起了 preventDefault(),在之后传递下去的事件里面也會有效果。
    上次更新: 2024/08/14, 04:14:33
    Web API
    事件处理程序

    ← Web API 事件处理程序→

    最近更新
    01
    React Native 使用SVG
    08-13
    02
    Docker基础命令
    08-04
    03
    算数逻辑单元
    07-30
    更多文章>
    Theme by Vdoing | Copyright © 2021-2024 WeiXiaojing | 友情链接
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式