2011-06-27 88 views
0

我正在創建一個swf,它有一個父類和一個子類。父類有一個按鈕,它調度一個自定義事件,我希望子類爲這個事件列出,但是當我分派事件的時候,子類沒有聽到事件已經分派。在兒童組件中沿着顯示列表收聽事件

這是分派事件的代碼:

私有函數onCTAClicked(E:MouseEvent)方法:無效 { 跡( 「onCTAClicked」); dispatchEvent(new CTAClickEvent(CTAClickEvent.CTA_CLICK_EVENT,true)); }

與聽者中登記這樣的:

公共函數registerEventListeners():無效 { this.addEventListener(CTAClickEvent.CTA_CLICK_EVENT,onCTAClickHandler,FALSE);
}

registerEventListeners()函數在子類中。

我知道事件會使顯示列表出現泡沫,但是如何才能沿着列表走下去呢?

Stephen

回答

0

不,事件不要挖下去。他們只是冒泡。爲了使顯示對象的子對象聽到由父對象派發的事件,需要在子對象的類中添加一個偵聽器給父對象的引用。

public function registerEventListeners() : void { 
    parent.addEventListener(CTAClickEvent.CTA_CLICK_EVENT, onCTAClickHandler); 
} 

只要確保在父可能爲空時不調用registerEventListeners。

+0

嗨,謝謝你的回覆。我確實設法通過使用我在本網站上找到的示例來解決問題。你在哪裏創建一個事件單身人士,父母和孩子都用來派遣和監聽事件。似乎現在工作正常。 – StephenAdams