美文网首页
DOM 元素事件执行

DOM 元素事件执行

作者: 鐵衣 | 来源:发表于2022-05-18 14:59 被阅读0次

有如下的 HTML 文档结构:

 <div id="parent">
  <div id="child" class="child">
    点我
  </div>
</div>
// 1
        document.getElementById("parent").addEventListener("click", function (e) {
            alert(`parent 事件触发,` + this.id);
        });

        document.getElementById("child").addEventListener("click", function (e) {
            alert(`child 事件触发,` + this.id);
        });
// 2
        document.getElementById("parent").addEventListener("click", function (e) {
            alert(`parent 事件触发,` + e.target.id);
        });

        document.getElementById("child").addEventListener("click", function (e) {
            alert(`child 事件触发,` + e.target.id);
        });
// 3
        document.getElementById("parent").addEventListener("click", function (e) {
            alert(`parent 事件触发,` + e.target.id);
        }, true);

        document.getElementById("child").addEventListener("click", function (e) {
            alert(`child 事件触发,` + e.target.id);
        }, true);

点击 id 为 child 的 div 后,这三份 JavaScript 代码的执行结果分别是什么?
答:

  • 第一次结果为:先弹出“child 事件触发,child”,再弹出“parent 事件触发,parent”。
  • 第二次结果为:先弹出“child 事件触发,child”,再弹出“parent 事件触发,child”。
  • 第三次结果为:先弹出“parent 事件触发,child”,再弹出“child 事件触发,child”。
    题解:
    HTML 页面上 DOM 元素的事件执行顺序一般有三个阶段:
  • 事件捕获
  • 事件触发
  • 事件冒泡
    dom标准事件流的触发的先后顺序为:先捕获再冒泡,即当触发dom事件时,会先进行事件捕获,捕获到事件源之后通过事件传播进行事件冒泡。
    而在浏览器中默认执行的是事件冒泡,即我们一般观察不到事件捕获阶段,比如 onclick 等事件。
    如果想要观察到事件的捕获阶段,那我们就需要借助 addEventListener 接口来实现。
    addEventListener() 方法用于向指定元素添加事件句柄。
    语法: element.addEventListener(event, function, useCapture)
  • event 必须。字符串,指定事件名。
    注意: 不要使用 "on" 前缀。 例如,使用 "click" ,而不是使用 "onclick"。
  • function必须。指定要事件触发时执行的函数。
  • useCapture 可选。布尔值,指定事件是否在捕获或冒泡阶段执行。
    可能值:
    true - 事件句柄在捕获阶段执行
    false- false- 默认。事件句柄在冒泡阶段执行

相关文章

  • JavaScript DOM0级事件

    DOM0级事件1、通过DOM获取HTML元素2、获取HTML元素.事件=执行脚本语法:ele.事件=执行脚本功能:...

  • DOM 元素事件执行

    有如下的 HTML 文档结构: 点击 id 为 child 的 div 后,这三份 JavaScript 代码的执...

  • 关于DOM的0级事件

    DOM的0级事件通过DOM获取到html元素,语法是:ele.事件=执行脚本;执行脚本可以是一个匿名函数,也可以直...

  • HTML DOM 事件

    HTML DOM 事件 HTML DOM 事件 HTML DOM 事件允许Javascript在HTML文档元素中...

  • DOM面试

    1. DOM事件模型 冒泡 捕获 如果这个元素是被点击元素,那么执行顺序由监听顺序决定 2. 移动端的触摸事件 相...

  • 事件绑定方式、阻止默认事件和冒泡事件的方式

    一、事件绑定方式 1、 在dom元素中直接绑定,语法为 onXXX="执行函数" onXXX 为事件名称,鼠标单击...

  • DOM-事件 | 捕获 | 冒泡 | 兼容 |

    DOM0 事件和DOM2级在事件监听使用方式上有什么区别? DOM 0 级事件是基于元素内联属性或DOM元素命名的...

  • React事件处理

    React元素的事件处理和DOM元素的区别 React元素的事件处理和DOM元素相似,但语法上有些不同: Reac...

  • 网易微专业-DOM编程艺术 05 事件

    1、DOM事件⑴主要内容▪事件流▪事件注册▪事件对象▪事件分类▪事件代理 ⑵什么是DOM事件▪点击一个DOM元素▪...

  • HTML DOM 事件对象

    HTMLDOM事件对象 HTML DOM 事件 HTML DOM 事件允许Javascript在HTML文档元素中...

网友评论

      本文标题:DOM 元素事件执行

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