I'm using ActionScript 3 in Flash Professional and I'd like my class to raise an event, not a custom event but an existing one. I've set up my class so that it extends EventDispatcher. In the documentation http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/EventDispatcher.html the example declares a custom event by adding a static String variable:

class CustomDispatcher extends EventDispatcher {

        public static var ACTION:String = "action";

I assume that enables:

dispatcher.addEventListener(CustomDispatcher.ACTION, actionHandler);

or at least auto-complete when you've typed 'dispatcher.addEventListener(' into the Flash Professional IDE.

But lots of classes that raise events raise a mixture of existing noncustom events. For example if you have an instance of a flash.netFileReference and type

fileRef.addEventListener(

a long list of potential events to listen for is given including DataEvent.UPLOAD_COMPLETE_DATA, Event.SELECT, HTTPStatusEvent.HTTP_STATUS, SecurityErrorEvent.SECURITY_ERROR, etc.

If I want my class to be registered to raise those existing events, what code do I need? Preferably so that the IDE knows instances of my class may raise the event and suggests them in the addEventListener auto-complete/intellisense list.

有帮助吗?

解决方案

To make the events show up in the intellisense, you need to register them using the Event metatag:

[Event(name="eventName", type="package.eventType")]

Add this just before the classes that dispatches this event.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top