理解事件流

针对事件流,一般是按事件捕获->事件冒泡的顺序,但也跟绑定事件的函数有关。

在ie下,只有事件冒泡机制,其他现代浏览器采用捕获到冒泡的机制,绑定的handler函数可以有一个boolean参数设定是冒泡还是捕获。

关于事件触发顺序,最终的结果说起来,是某个博文的评论说的比较明白:

关于一个节点上同时绑定click事件,一个冒泡,一个捕获,还是以文中的代码为例子

1
<aid="p">刀狂剑痴<spanid="el"onclick="alert('点击');">叶小钗</span> </a>


我们把鼠标点击的元素成为目标元素target(可能为a,也可能为span),target的父元素称为parent
事件的传播分为三个阶段,分别是:
1)捕获阶段,此阶段针对的是target的父元素parent,如果parent绑定的事件针对的是捕获阶段,则触发该事件处理器
2)目标阶段,此阶段针对的是target本身,如果target绑定了事件处理器,则不关针对的是冒泡阶段,还是捕获阶段,一律触发,当target针对同一绑定了多个处理器,则按照处理器绑定的顺序执行
3)冒泡阶段,此阶段针对的target的父元素,如果parent绑定的事件针对的是冒泡阶段,则触发该事件处理器

详细过程也可以看网摘文章的例子:http://www.cnblogs.com/yexiaochai/archive/2013/06/30/3163370.html

我相信,会有一个公正而深刻的认识来为我们总结的:那时,我们这一代独有的奋斗、思索、烙印和选择才会显露其意义。 ——《北方的河》

博文来源:http://www.cnblogs.com/liaopr

如果您觉得本文的内容对您的学习有所帮助,可以选择打赏我一杯咖啡:D

原文地址:https://www.cnblogs.com/liaopr/p/3303320.html