0

親クラスと子クラスを持つswfを作成しています。親クラスにはカスタムイベントをディスパッチするボタンがあり、子クラスにこのイベントを一覧表示させたいのですが、イベントをディスパッチすると、子クラスはイベントがディスパッチされたことを聞き取れません。

これは、イベントをディスパッチするコードです。

private function onCTAClicked(e:MouseEvent):void
        {
            trace("onCTAClicked");
            dispatchEvent(new CTAClickEvent(CTAClickEvent.CTA_CLICK_EVENT,true));
        }

And the listener is registered like this:

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

registerEventListeners()関数は子クラスにあります。

イベントが表示リストをバブルアップする可能性があることは知っていますが、どうすればリストを下に移動できますか?

スティーブン

4

1 に答える 1

0

いいえ、イベントは掘り下げられません。彼らは泡立つだけです。表示オブジェクトの子が親によってディスパッチされたイベントを聞くには、子オブジェクトのクラスで、親オブジェクトの参照にリスナーを追加する必要があります。

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

親がnullの可能性がある場合は、registerEventListenersを呼び出さないように注意してください。

于 2011-06-27T16:14:57.207 に答える