我正在创建一个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()函数位于子类中。
我知道事件可能会冒出显示列表但是怎样才能进入列表?
斯蒂芬
答案 0 :(得分:0)
不,事件不会被挖掘。他们只是冒泡了。为了使显示对象的子节点听到父节点调度的事件,在子对象的类中,您需要将一个侦听器添加到父对象的引用中。
public function registerEventListeners() : void {
parent.addEventListener(CTAClickEvent.CTA_CLICK_EVENT, onCTAClickHandler);
}
当父级可能为null时,请确保不要调用registerEventListeners。