subClasses可以监听superClass调度事件吗?

时间:2014-03-31 14:09:12

标签: actionscript-3 flex event-handling flex4

onI在Flex4(actionscript3)中收听事件时遇到了一些问题。

在下面的代码中,在method2类A中调度的事件未在method2类C中检测到。我尝试使用bubbles = true作为调度事件,但它没有改变任何内容。

你有什么建议吗?

Class A extends EventDispatcher{
    public function method1():void{
        dispatch(new Event("onEvent"));
    }
}

Class B extends A{
    ....
}

Class C extends B{
    public function method2():void{
        addEventListener("onEvent", onEventResult);

        method1();

        function onEventResult(event:Event):void{
            ...
        }
    }
}

Class D{
    function mainMethod():void{
        var c:C = new C();
        c.methode2();
    }
}

1 个答案:

答案 0 :(得分:0)

我认为在C级中说:addEventListener("onEvent", onEventResult);

是不够的

您的A级活动唯一可以冒泡的地方'到了舞台。因此,您必须使用' addEventListener'定位阶段。方法

尝试stage.addEventListener("onEvent", onEventResult);

但是,当然,从您的代码中,没有证据表明任何这些类的实例实际上是 on 一个阶段。我假设您没有表现出来。