在Flex中,是否可以收听IEventDispatcher
对象的所有事件类型? addEventListener
的第一个参数是类型,它是一个字符串。在许多情况下,文档不清楚它触发的事件类型。我想附加一个通用的监听器来检查事件。
答案 0 :(得分:3)
我认为您必须从此类派生并覆盖dispatchEvent
方法,如下所示:
override public function dispatchEvent(event:Event):Boolean
{
trace(event.type);
return super.dispatchEvent(event);
}
答案 1 :(得分:1)
简短的回答是否定的,没有任何内置方式可以一直监听所有事件类型。您可能需要开发一个用于管理此系统的系统,或者执行类似于splash建议的操作。就个人而言,我会创建一个自定义事件,覆盖dispatchEvent,并在传递原始事件的“类型”时调度您自己的自定义事件。
override public function dispatchEvent(event:Event):Boolean
{
//Dispatch your custom event passing along with it the type of the original event.
super.dispatchEvent(new CustomEvent(CustomEvent.ALL, event.type);
return super.dispatchEvent(event);
}
然后,您只需为自定义事件设置一个侦听器,并轻松跟踪触发的时间和事件。
希望有所帮助。