美文网首页
DOM2事件传播机制

DOM2事件传播机制

作者: 豁啦子 | 来源:发表于2019-01-02 16:50 被阅读0次

        当事件发生在某个文档节点上时(即事件目标),目标的事件处理程序就会被触发。此外目标的每个祖先节点也有机会处理该事件。

    2级DOM的事件传播包含三个阶段:

    1、捕捉阶段(capturing),事件从顶级文档树节点一级一级向下遍历,直到到达该事件的目标节点。

    2、到达事件的目标节点,执行目标节点的时间处理程序。

    3、事件起泡(bubbling),事件从目标节点一级一级向上上溯,直到顶级文档树节点。

    相应的,2级DOM通过下面的两个函数给节点对象添加和删除事件处理函数。

          addEventListener(eventType, handler, propagate);

          removeEventListener(eventType, handler, propagate);

    三个参数意思分别如下:

         eventType: 即事件类型(不加on)。比如:"click"。

         handler: 事件处理函数。传入参数即为事件对象event。

    propagate: 是否只执行捕获和目标节点两个阶段。true的话,只执行1,2两个阶段;false的话,只指向2,3两个阶段。

        IE的事件传播只包含上边的2和3两个阶段

    相应的,IE通过下面两个函数给节点对象添加和删除事件处理函数。

          attachEvent(eventType, handler);

          detachEvent(eventType, handler);

    参数意思同2级DOM对应的函数参数。

    相关文章

      网友评论

          本文标题:DOM2事件传播机制

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