有人可以简单解释Flash事件框架中的3个阶段吗?
按活动阶段,我的意思是:
CAPTURING_PHASE
AT_TARGET
BUBBLING_PHASE
要清楚,我在谈论flash.events.Event
和子类。
一个深入的例子是奇妙的。单击嵌套MovieClip
时会发生什么?
答案 0 :(得分:10)
通过事件传播,您将处理事件的三个“阶段”(参见图2)。每个阶段表示事件的路径或位置,因为它通过Flash中与该事件相关的显示对象自行工作。事件的三个阶段是捕获,目标和冒泡:
捕获阶段:这代表了 目标对象的父对象 事件起源于此。任何 传播事件始于 最顶级的父母(阶段)和工作 向下显示对象层次结构 直到达到原定目标。
目标阶段:目标阶段是 事件发生的阶段 目标对象或来自的对象 事件起源于哪个。不像 捕获和冒泡阶段, 这个阶段总是只涉及到 一个对象,即目标对象。
冒泡阶段:当一个事件发生时 “泡沫”它反过来 捕获阶段的路径和 以父母的方式工作 直到目标对象的层次结构 到达最顶级的父母或 阶段。
答案 1 :(得分:0)
前段时间我写了几篇关于事件传播,Flash等自定义事件的文章。
您可以在此处找到该文章以及源代码和工作示例:
捕获阶段从外部到内部发生 ,来自 最外层的父容器(在本例中是Application标签) 目标对象的直接父(VGroup标记)。
在检查所有祖先的听众后,Flex启动了 定位阶段。
定位阶段是事件传播的第二阶段 机制和在此阶段Flex检查事件监听器 目标对象本身。
事件传播机制的第三个也是最后一个阶段是 冒泡阶段。更改定位阶段,Flex现在会检查所有内容 事件侦听器的目标对象的父容器。这个检查 从内部到外部,从直接的父母发生 目标对象到最外层的父容器 - 在这种情况下是 申请标签。