DOM2事件传播机制

2019-01-02  本文已影响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对应的函数参数。

上一篇 下一篇

猜你喜欢

热点阅读