美文网首页
dom事件流(事件冒泡+事件捕获)

dom事件流(事件冒泡+事件捕获)

作者: 我没事_就是有点难受 | 来源:发表于2022-03-22 15:09 被阅读0次

来源

在它们成为标准之前,Netscape和微软各自不同地实现了它们。Netscape选择实现了捕获事件流,微软则实现了冒泡事件流。幸运的是,W3C决定组合使用这两种方法,并且大多数新浏览器都遵循这两种事件流方式。

w3c标准dom事件流图解

w3c标准dom事件流

DOM事件流

将事件分为三个阶段:捕获阶段、目标阶段、冒泡阶段。先调用捕获阶段的处理函数,其次调用目标阶段的处理函数,最后调用冒泡阶段的处理函数。

捕获阶段的函数:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>事件捕获</title>
</head>
<body>
    <div id="e">
        <input id="btn" type="button" value="按钮">
    </div>
    <script type="text/javascript">
        var e = document.getElementById('e');
        var btn = document.getElementById('btn');
        e.addEventListener('click',function(){
            alert('你点击了div');
        },true);
        btn.addEventListener('click',function(){
            alert('你点击了button');
        },true);
    </script>
</body>
</html>

冒泡阶段的函数:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>事件冒泡</title>
</head>
<body>
    <div id="e">
        <input id="btn" type="button" value="按钮">
    </div>
    <script type="text/javascript">
        var e = document.getElementById('e');
        var btn = document.getElementById('btn');
        e.onclick = function (){
            alert("你点击了div");
        };
        btn.onclick = function(){
            alert("你点击了button");
        }
    </script>
</body>
</html>

区别

捕获是由Natscape公司提出的,一般是addEventListener('click', () => {})事件
冒泡是微软提出的,一般直接是dom.onclick = () => {};

相关文章

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

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

  • 3-6 DOM事件

    问题 DOM 事件的级别 DOM 事件模型(就是捕获和冒泡儿) DOM 事件流 描述DOM事件捕获的具体流程 Ev...

  • 事件

    一、事件流 事件捕获:由外到内事件冒泡:由内到外DOM事件流:先捕获再冒泡 二、接口 addEventListen...

  • JavaScript事件01——事件流

    大纲:概念(事件、事件流)事件流模型(事件冒泡、事件捕获、DOM事件流) 一、概念: 1、事件:事件就是用户或浏览...

  • JavaScript事件流

    JavaScript事件流主要有冒泡事件和捕获事件DOM事件流同时支持者两种事件捕获现在统一标准是先捕获再冒泡 a...

  • Dom事件

    Dom事件的级别Dom事件模型(冒泡+捕获)Dom事件流 http://www.cnblogs.com/staro...

  • 事件

    事件流: DOM0级事件流分为事件捕获和事件冒泡 1冒泡:从内到外,从子到父 2捕获:从父到子,从外到内 DOM2...

  • 第13章、事件

    13.1 事件流 “DOM2级事件”规定事件流包括3个阶段:事件捕获阶段,处于目标阶段,事件冒泡阶段。事件捕获表示...

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

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

  • Dom事件流

    事件流是描述页面接收事件的顺序。 具体的有事件冒泡事件捕获DOM事件流。1、事件冒泡又叫IE的事件流,即事件开始时...

网友评论

      本文标题:dom事件流(事件冒泡+事件捕获)

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