Apache flex Flex事件在非层次结构中流动,例如通过框架响应程序

Apache flex Flex事件在非层次结构中流动,例如通过框架响应程序,apache-flex,actionscript-3,events,flex4,Apache Flex,Actionscript 3,Events,Flex4,假设应用程序有面板,面板有按钮和文本字段或文本区域。我们点击一个按钮点击一个服务,比如通过cairngorm框架 事件生命周期遵循显示层次结构中的捕获目标气泡周期,如按钮上的MouseClick事件将调用附加到按钮和/或面板和/或应用程序和/或阶段的侦听器的处理程序,因为流沿此方向移动 非层次结构上的事件是如何工作的,例如,来自服务的结果触发了一个自定义事件DataReceived。我们将一个侦听器连接到此DataReceived事件的面板/按钮。此侦听器如何获取信息?事件生命周期是如何进入这张

假设应用程序有面板,面板有按钮和文本字段或文本区域。我们点击一个按钮点击一个服务,比如通过cairngorm框架

事件生命周期遵循显示层次结构中的捕获目标气泡周期,如按钮上的MouseClick事件将调用附加到按钮和/或面板和/或应用程序和/或阶段的侦听器的处理程序,因为流沿此方向移动

非层次结构上的事件是如何工作的,例如,来自服务的结果触发了一个自定义事件DataReceived。我们将一个侦听器连接到此DataReceived事件的面板/按钮。此侦听器如何获取信息?事件生命周期是如何进入这张图的

有人能解释一下吗


谢谢

由于它是一个非显示对象,因此事件只有一个目标阶段。这意味着只有附加到与事件的
target
属性中的对象相同的对象的侦听器才能工作。因此,非DisplayObject只能将事件分派给它们自己。至少我是这样理解的


中有一些关于编写自定义事件调度器的讨论,这些自定义事件调度器将为非DisplayObject启用冒泡功能。

如果您通过
dispatchEvent
在Flex UIComponent上调度自定义事件,UIComponent将负责通过显示层次结构冒泡事件,只要事件对象中的
气泡
标志为真。

我发现了GlobalEventDispatcher的概念,我们可以将侦听器附加到它,并从它进行调度

另一个问题的参考有助于-
重要的一点是-dispatcher的实例必须相同。我们可以为我们的应用程序保留一个自定义的全局单例事件调度器,或者我们可以使用stage/systemManager/FexGlobals.toplevelapplicaton来完成可能不是一个好的实践。

您能给我们一个您想要完成的示例吗?FYI event.target将让您知道哪个对象调度了原始事件(例如您的服务对象)