1
我有一棵樹,childs dispaching事件,如果我在TitleWindow之外運行該對象 - 一切工作正常,但如果我將它封裝在TitleWindow內,就像下面的源代碼一樣 - 事件不再是系統寬泛的。TitleWindow中的Flex dispached事件不是系統範圍的?
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:sparkTree="com.sparkTree.*"
creationComplete="init()">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.managers.PopUpManager;
private function init():void
{
PopUpManager.addPopUp(xWin, this);
this.addEventListener(MyEvent.REQUEST_FORWARD, function(e : MyEvent):void{ Alert.show(":P") });
}
]]>
</fx:Script>
<s:TitleWindow id="xWin" >
<s:HGroup width="100%" height="100%">
<sparkTree:Tree labelField="label"
dataProvider="{dataProviderXML}"
width="300" height="500"
textRollOverColor="yellow"
textSelectedColor="0xFFFFFF"
itemRenderer="com.sparkTree.XItemRenderer">
<sparkTree:layout>
<s:VerticalLayout gap="0" variableRowHeight="true"/>
</sparkTree:layout>
</sparkTree:Tree>
</s:HGroup>
</s:TitleWindow>
</s:Application>
是的,我使用的事件bubling(對不起,我錯過了將其添加)...的MyEvent情況如下:\t \t公共職能MyEvent(類型:字符串) \t \t { \t \t \t super(type,true,false); \t \t} – 2011-06-07 08:16:49
1.你的情況冒泡有什麼好處?不要使用它。 2.如果你不能沒有它,使用'systemManager'來訂閱。 – Constantiner 2011-06-07 08:19:50
我不知道,我打賭bubling將提供更廣泛的事件使用。如何使用systemManager訂閱? – 2011-06-07 08:25:56