事件流(循环过程)按运行流程分为三步:
1. 捕获阶段:捕获事件
遍历,从根节点开始顺序而下,检测每个节点是否注册了监听器,同时Flex将事件对象的currentTarget值改为当前正在检测的对象,如果注册了,则调用监听函数。
2. 目标阶段:检测目标的监听器
激发在目标对象本身注册的监听程序
3. 冒泡阶段:事件冒泡
遍历:和捕获阶段正好相反,从目标节点到根节点,检测每个节点是否注册了监听器,如果有则调用监听函数
从上面可以看出,事件发生时,从根节点到目标节点的父节点,这中间的所有节点都有两次机会可以响应事件,分别在捕获阶段和冒泡阶段。(当然前提是捕获功能和冒泡功能必须打开才可以,但要注意一点,不可以在一个监听器中打开捕获功能和冒泡功能)
每一个事件对象都有target和currentTarget属性,前者表示事件的派发者,后者表示当前正在检测的对象,帮助跟踪事件传播的过程。