Flash事件阶段?

时间:2008-12-08 01:28:51

标签: flash actionscript-3 events

有人可以简单解释Flash事件框架中的3个阶段吗?

按活动阶段,我的意思是:

  • CAPTURING_PHASE
  • AT_TARGET
  • BUBBLING_PHASE

要清楚,我在谈论flash.events.Event和子类。

一个深入的例子是奇妙的。单击嵌套MovieClip时会发生什么?

2 个答案:

答案 0 :(得分:10)

  

通过事件传播,您将处理事件的三个​​“阶段”(参见图2)。每个阶段表示事件的路径或位置,因为它通过Flash中与该事件相关的显示对象自行工作。事件的三个​​阶段是捕获,目标和冒泡:

  • 捕获阶段:这代表了 目标对象的父对象 事件起源于此。任何 传播事件始于 最顶级的父母(阶段)和工作 向下显示对象层次结构 直到达到原定目标。

  • 目标阶段:目标阶段是 事件发生的阶段 目标对象或来自的对象 事件起源于哪个。不像 捕获和冒泡阶段, 这个阶段总是只涉及到 一个对象,即目标对象。

  • 冒泡阶段:当一个事件发生时 “泡沫”它反过来 捕获阶段的路径和 以父母的方式工作 直到目标对象的层次结构 到达最顶级的父母或 阶段。

公然被盗:Introduction to event handling in ActionScript 3.0

答案 1 :(得分:0)

前段时间我写了几篇关于事件传播,Flash等自定义事件的文章。

您可以在此处找到该文章以及源代码和工作示例:

http://www.popamihai.com/2010/10/flex/event-propagation-capturing-phase-targeting-phase-and-bubbling-phase/

  

捕获阶段从外部到内部发生 ,来自   最外层的父容器(在本例中是Application标签)   目标对象的直接父(VGroup标记)。

     

在检查所有祖先的听众后,Flex启动了   定位阶段。

     

定位阶段是事件传播的第二阶段   机制和在此阶段Flex检查事件监听器   目标对象本身。

     

事件传播机制的第三个也是最后一个阶段是   冒泡阶段。更改定位阶段,Flex现在会检查所有内容   事件侦听器的目标对象的父容器。这个检查   从内部到外部,从直接的父母发生   目标对象到最外层的父容器 - 在这种情况下是   申请标签。