美文网首页前端JavaScript
复习笔记之API(6) DOM事件流

复习笔记之API(6) DOM事件流

作者: 晚月川 | 来源:发表于2020-04-16 04:51 被阅读0次

DOM事件流

事件流描述的是从页面中接收事件的顺序(DOM事件流就是事件的传播过程)

  • 事件发生时会在元素节点之间按照特定的顺序传播,这个传播的过程DOM事件流
  • DOM事件流分为三个阶段
    • 捕获阶段
    • 当前目标阶段
    • 冒泡阶段
DOM事件流.png
  • 事件冒泡:IE最早提出,事件开始时由最具体的元素接收,然后逐级向上传播,到DOM最顶层节点的过程
  • 事件捕获:网景最早提出,由DOM最顶层结点开始,然后逐级向下传播,到最具体的元素接收的过程
实例.png

JS代码只能执行捕获或者冒泡其中的一个阶段

  • onclickattachEvent只能得到冒泡阶段
  • addEvenListener(type, listener, [useCapture])第三个参数如果是true,表示事件捕获阶段调用事件处理程序;如果是false(不写默认就是false),表示在事件冒泡阶段调用事件处理程序

实际开发中很少使用事件捕获,事件冒泡更为常用;
有些事件是没有冒泡的。比如:onblur(获得焦点)、onfocus(失去焦点)、onmouseenteronmouseleave;

<div class="father">
    <div class="son">子级盒子</div>
</div>
<script>
    // 捕获阶段:如果addEventListener第三个参数是true,则处于捕获阶段(document => html => body => father => son)
    let son = document.querySelector('.son');
    son.addEventListener('click', function() {
        alert('son');
    }, true);
    let father = document.querySelector('.father');
    son.addEventListener('click', function() {
        alert('father');
    }, true);
    // 冒泡阶段:如果addEventListener第三个参数是false或者省略,则处于冒泡阶段(son => father => body => html => document)
    let son = document.querySelector('.son');
    son.addEventListener('click', function() {
        alert('son');
    }, false);
    let father = document.querySelector('.father');
    son.addEventListener('click', function() {
        alert('father');
    }, false);
    document.addEventListener('click', function() {
        alert('document');
    }) // 不写的话默认是false
</script>

相关文章

  • 复习笔记之API(6) DOM事件流

    DOM事件流 事件流描述的是从页面中接收事件的顺序(DOM事件流就是事件的传播过程)事件发生时会在元素节点之间按照...

  • DOM 事件流

    这篇笔记主要简述下 DOM 事件流 - DOM Event Flow. 用于理解事件捕获与冒泡. 什么是事件 事件...

  • 《DOM事件探秘》笔记

    慕课网 DOM事件探秘 学习笔记 一、事件流 时间流: 描述的是从页面中接收事件的顺序。分为事件冒泡流和事件捕获流...

  • JavaScript事件捕获冒泡与捕获

    事件流 JavaScript中,事件流指的是DOM事件流。 概念 事件的传播过程即DOM事件流。 事件对象在 DO...

  • DOM事件类

    基本概念:DOM事件的级别 DOM事件模型 DOM事件流 描述DOM事件捕获的具体流 Event对象的常见应用 自...

  • dom&事件流复习回顾

    1.事件流, 三个阶段 捕获,事件目标,冒泡 2.事件三个的绑定方式 a.标签属性绑定,按钮b.on+type 绑...

  • DOM事件面试题

    基本概念: DOM事件的级别 DOM事件模型image.png DOM事件流image.png什么是事件流:(分三...

  • 前端面试题(3)——DOM事件类

    基本概念:DOM事件的级别 DOM事件模型:事件冒泡事件捕获 DOM事件流 描述DOM事件捕获的具体流程 Even...

  • 前端工程师之DOM编程艺术(持续更新)

    @(书籍阅读)[网易云课堂|DOM] DOM编程艺术 网易前端微专业之《DOM编程艺术》笔记,持续更新; 更新事件...

  • 事件冒泡、事件捕获、事件委托

    一、DOM事件流 DOM事件流(event flow)存在三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段,事件...

网友评论

    本文标题:复习笔记之API(6) DOM事件流

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