请参阅Flex / Flash构建器调试中的事件侦听器

时间:2011-07-16 12:59:48

标签: flex actionscript-3 flex3 flash-builder flexbuilder

有人知道如何在Flex或Flash构建器的调试模式下查看任何组件的事件侦听器吗?

干杯,PK

3 个答案:

答案 0 :(得分:0)

没有直接的方式来枚举听众AFAIK。

您仍然可以通常使用IEventDispatcher接口中的方法执行操作:

package flash.events
{
    public interface IEventDispatcher
    {
        function addEventListener(eventName:String, 
                        listener:Object,
                        useCapture:Boolean=false,
                        priority:Integer=0,
                            useWeakReference:Boolean=false):Boolean;

        function removeEventListener(eventName:String, 
                    listener:Object,
                    useCapture:Boolean=false):Boolean;

        function dispatchEvent(eventObject:Event):Boolean;

        function hasEventListener(eventName:String):Boolean;
        function willTrigger(eventName:String):Boolean;
    }
}

上述代码的来源:http://livedocs.adobe.com/flex/3/html/help.html?content=16_Event_handling_6.html

答案 1 :(得分:-1)

在类上创建一个变量:

private var __numListeners:Number = 0;

然后创建一个set和get方法来编辑该变量...... 并且每次添加或删除侦听器时,它都会使用该方法调整该变量...

this.setNumListeners(1); or whatever

然后可以通过

访问它
trace(someObject.getNumListeners())

答案 2 :(得分:-1)

如果不编辑应用程序中实现IEventDispatcher接口的所有组件,就没有快速的方法。

如果播放器是开源的,那么您可以扩展EventDispatcher类以将trace语句添加到其中,但事实并非如此。