美文网首页前端基础笔记
【javascript】事件流

【javascript】事件流

作者: shanruopeng | 来源:发表于2017-12-12 16:09 被阅读4次

    事件流

    • 事件流描述的是从页面中接收事件的顺序。
    • IE 的事件流是事件冒泡流,而Netscape Communicator 的事件流是事件捕获流。

    1、事件冒泡

    • IE 的事件流叫做事件冒泡(eventbubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档)。
    <!DOCTYPE html>
    <html>
        <head>
            <title>Event Bubbling Example</title>
        </head>
        <body>
            <div id="myDiv">Click Me</div>
        </body>
    </html>
    
    如果你单击了页面中的<div>元素,那么这个click 事件会按照如下顺序传播.
    (1) <div>
    (2) <body>
    (3) <html>
    (4) document
    
    事件冒泡.png

    2、事件捕获

    • 事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点应该最后接收到事件。
    • 事件捕获的用意在于在事件到达预定目标之前捕获它。
    单击<div>元素就会以下列顺序触发click 事件。
    (1) document
    (2) <html>
    (3) <body>
    (4) <div>
    
    事件捕获.png

    3、DOM事件流

    • “DOM2级事件”规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。
    • 首先发生的是事件捕获,为截获事件提供了机会。然后是实际的目标接收到事件。最后一个阶段是冒泡阶段,可以在这个阶段对事件做出响应。


      事件触发顺序.png
      好好学习

    相关文章

      网友评论

        本文标题:【javascript】事件流

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