0
我有一個flex組件的代碼,我想監聽一個事件,事件的來源是另一個類正在運行的另一個類運行的自定義類等等。我的印象是一個事件將通過在整個應用程序,所以我希望如果我派遣在像這樣的類自定義事件..一個事件能走多遠,我該如何聽?
private function finishEvent():void {
var evt:EventDispatcher = new EventDispatcher;
var finished:Event = new Event("finishedInterpret");
evt.dispatchEvent(finished);
}
然後我可以抓住它在我的部分是這樣的:
public function interpret(data:Array):void {
addEventListener("finishedInterpret", applyInferences);
db.executeBatch();
}
事件在executeBatch完成時基本被觸發,finishEvent被調用,但我是l istener沒有得到任何東西。我試着將它設置爲db.addEventListener,但現在已經有效。
啊我明白了。不幸的是,我正在使用的那個類中的組件確實已經完成,它幾乎被埋在了幾個級別的調用中。所以我基本上必須將事件傳遞到每個級別,然後我想.. hrmph希望不要必須大量修改該代碼 – Damon 2011-03-29 23:05:29
您可以使用事件冒泡。這將允許事件通過多層傳播到顯示樹中的第一個監聽祖先。 – Jacob 2011-03-29 23:13:21
啊..我以爲這是默認啓用。當我嘗試將氣泡設置爲true時,它是隻讀屬性 – Damon 2011-03-29 23:23:52