# class Event

#### package openfl.events

#### extended by AccelerometerEvent, ActivityEvent, FocusEvent, GameInputEvent, HTTPStatusEvent, KeyboardEvent, MouseEvent, NetStatusEvent, ProgressEvent, SampleDataEvent, TextEvent, TimerEvent, TouchEvent

Available on all platforms

The Event class is used as the base class for the creation of Event objects, which are passed as parameters to event listeners when an event occurs.

The properties of the Event class carry basic information about an event, such as the event's type or whether the event's default behavior can be canceled. For many events, such as the events represented by the Event class constants, this basic information is sufficient. Other events, however, may require more detailed information. Events associated with a mouse click, for example, need to include additional information about the location of the click event and whether any keys were pressed during the click event. You can pass such additional information to event listeners by extending the Event class, which is what the MouseEvent class does. ActionScript 3.0 API defines several Event subclasses for common events that require additional information. Events associated with each of the Event subclasses are described in the documentation for each class.

The methods of the Event class can be used in event listener functions to affect the behavior of the event object. Some events have an associated default behavior. For example, the `doubleClick` event has an associated default behavior that highlights the word under the mouse pointer at the time of the event. Your event listener can cancel this behavior by calling the `preventDefault()` method. You can also make the current event listener the last one to process an event by calling the `stopPropagation()` or `stopImmediatePropagation()` method.

Other sources of information include:

- A useful description about the timing of events, code execution, and rendering at runtime in Ted Patrick's blog entry: <a Flash Player Mental Model - The Elastic.
- A blog entry by Johannes Tacskovics about the timing of frame events, such as ENTER_FRAME, EXIT_FRAME: The MovieClip Lifecycle.
- An article by Trevor McCauley about the order of ActionScript operations: Order of Operations in ActionScript.
- A blog entry by Matt Przybylski on creating custom events: AS3: Custom Events.

### Constructor

###

`new (type:String, bubbles:Bool = false, cancelable:Bool = false)`

Creates an Event object to pass as a parameter to event listeners.

Parameters:

`type` | The type of the event, accessible as `Event.type`.
`bubbles` | Determines whether the Event object participates in the bubbling stage of the event flow. The default value is `false`.
`cancelable` | Determines whether the Event object can be canceled. The default values is `false`.

### Variables

###

`read onlybubbles:Bool`

Indicates whether an event is a bubbling event. If the event can bubble, this value is `true`; otherwise it is `false`.

When an event occurs, it moves through the three phases of the event flow: the capture phase, which flows from the top of the display list hierarchy to the node just before the target node; the target phase, which comprises the target node; and the bubbling phase, which flows from the node subsequent to the target node back up the display list hierarchy.

Some events, such as the `activate` and `unload` events, do not have a bubbling phase. The `bubbles` property has a value of `false` for events that do not have a bubbling phase.

###

`read onlycancelable:Bool`

Indicates whether the behavior associated with the event can be prevented. If the behavior can be canceled, this value is `true`; otherwise it is `false`.

###

`read onlycurrentTarget:Any`

The object that is actively processing the Event object with an event listener. For example, if a user clicks an OK button, the current target could be the node containing that button or one of its ancestors that has registered an event listener for that event.

###

`read onlyeventPhase:EventPhase`

The current phase in the event flow. This property can contain the following numeric values:

- The capture phase(`EventPhase.CAPTURING_PHASE`).
- The target phase(`EventPhase.AT_TARGET`).
- The bubbling phase(`EventPhase.BUBBLING_PHASE`).

###

`read onlytarget:Any`

The event target. This property contains the target node. For example, if a user clicks an OK button, the target node is the display list node containing that button.

###

`read onlytype:String`

The type of event. The type is case-sensitive.

### Methods

###

`clone ():Event`

Duplicates an instance of an Event subclass.

Returns a new Event object that is a copy of the original instance of the Event object. You do not normally call `clone()`; the EventDispatcher class calls it automatically when you redispatch an event - that is, when you call `dispatchEvent(event)` from a handler that is handling `event`.

The new Event object includes all the properties of the original.

When creating your own custom Event class, you must override the inherited `Event.clone()` method in order for it to duplicate the properties of your custom class. If you do not set all the properties that you add in your event subclass, those properties will not have the correct values when listeners handle the redispatched event.

In this example, `PingEvent` is a subclass of `Event` and therefore implements its own version of `clone()`.

Returns:

A new Event object that is identical to the original.

###

`formatToString (className:String, ?p1:Dynamic, ?p2:Dynamic, ?p3:Dynamic, ?p4:Dynamic, ?p5:Dynamic):String`

###

`isDefaultPrevented ():Bool`

Checks whether the `preventDefault()` method has been called on the event. If the `preventDefault()` method has been called, returns `true`; otherwise, returns `false`.

Returns:

If `preventDefault()` has been called, returns `true`; otherwise, returns `false`.

###

`preventDefault ():Void`

Cancels an event's default behavior if that behavior can be canceled. Many events have associated behaviors that are carried out by default. For example, if a user types a character into a text field, the default behavior is that the character is displayed in the text field. Because the `TextEvent.TEXT_INPUT` event's default behavior can be canceled, you can use the `preventDefault()` method to prevent the character from appearing. An example of a behavior that is not cancelable is the default behavior associated with the Event.REMOVED event, which is generated whenever Flash Player is about to remove a display object from the display list. The default behavior (removing the element) cannot be canceled, so the `preventDefault()` method has no effect on this default behavior. You can use the `Event.cancelable` property to check whether you can prevent the default behavior associated with a particular event. If the value of `Event.cancelable` is true, then `preventDefault()` can be used to cancel the event; otherwise, `preventDefault()` has no effect.

###

`stopImmediatePropagation ():Void`

Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow. This method takes effect immediately, and it affects event listeners in the current node. In contrast, the `stopPropagation()` method doesn't take effect until all the event listeners in the current node finish processing.

Note: This method does not cancel the behavior associated with this event; see `preventDefault()` for that functionality.

###

`stopPropagation ():Void`

Prevents processing of any event listeners in nodes subsequent to the current node in the event flow. This method does not affect any event listeners in the current node(`currentTarget`). In contrast, the `stopImmediatePropagation()` method prevents processing of event listeners in both the current node and subsequent nodes. Additional calls to this method have no effect. This method can be called in any phase of the event flow.

Note: This method does not cancel the behavior associated with this event; see `preventDefault()` for that functionality.

###

`toString ():String`

Returns a string containing all the properties of the Event object. The string is in the following format:

`[Event type=_value_ bubbles=_value_ cancelable=_value_]`

Returns:

A string containing all the properties of the Event object.

### Static variables

###

`staticinline read onlyACTIVATE:String = "activate"`

The `ACTIVATE` constant defines the value of the `type` property of an `activate` event object.

Note: This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not.

AIR for TV devices never automatically dispatch this event. You can, however, dispatch it manually.

This event has the following properties:

###

`staticinline read onlyADDED:String = "added"`

The `Event.ADDED` constant defines the value of the `type` property of an `added` event object.

This event has the following properties:

###

`staticinline read onlyADDED_TO_STAGE:String = "addedToStage"`

The `Event.ADDED_TO_STAGE` constant defines the value of the `type` property of an `addedToStage` event object.

This event has the following properties:

###

`staticinline read onlyCANCEL:String = "cancel"`

The `Event.CANCEL` constant defines the value of the `type` property of a `cancel` event object.

This event has the following properties:

###

`staticinline read onlyCHANGE:String = "change"`

The `Event.CHANGE` constant defines the value of the `type` property of a `change` event object.

This event has the following properties:

###

`staticinline read onlyCLEAR:String = "clear"`

###

`staticinline read onlyCLOSE:String = "close"`

The `Event.CLOSE` constant defines the value of the `type` property of a `close` event object.

This event has the following properties:

###

`staticinline read onlyCOMPLETE:String = "complete"`

The `Event.COMPLETE` constant defines the value of the `type` property of a `complete` event object.

This event has the following properties:

###

`staticinline read onlyCONNECT:String = "connect"`

The `Event.CONNECT` constant defines the value of the `type` property of a `connect` event object.

This event has the following properties:

###

`staticinline read onlyCONTEXT3D_CREATE:String = "context3DCreate"`

###

`staticinline read onlyCOPY:String = "copy"`

###

`staticinline read onlyCUT:String = "cut"`

###

`staticinline read onlyDEACTIVATE:String = "deactivate"`

The `Event.DEACTIVATE` constant defines the value of the `type` property of a `deactivate` event object.

Note: This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not.

AIR for TV devices never automatically dispatch this event. You can, however, dispatch it manually.

This event has the following properties:

###

`staticinline read onlyENTER_FRAME:String = "enterFrame"`

The `Event.ENTER_FRAME` constant defines the value of the `type` property of an `enterFrame` event object.

Note: This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not.

This event has the following properties:

###

`staticinline read onlyEXIT_FRAME:String = "exitFrame"`

###

`staticinline read onlyFRAME_CONSTRUCTED:String = "frameConstructed"`

###

`staticinline read onlyFRAME_LABEL:String = "frameLabel"`

###

`staticinline read onlyFULLSCREEN:String = "fullScreen"`

###

`staticinline read onlyID3:String = "id3"`

The `Event.ID3` constant defines the value of the `type` property of an `id3` event object.

This event has the following properties:

###

`staticinline read onlyINIT:String = "init"`

The `Event.INIT` constant defines the value of the `type` property of an `init` event object.

This event has the following properties:

###

`staticinline read onlyMOUSE_LEAVE:String = "mouseLeave"`

The `Event.MOUSE_LEAVE` constant defines the value of the `type` property of a `mouseLeave` event object.

This event has the following properties:

###

`staticinline read onlyOPEN:String = "open"`

The `Event.OPEN` constant defines the value of the `type` property of an `open` event object.

This event has the following properties:

###

`staticinline read onlyPASTE:String = "paste"`

###

`staticinline read onlyREMOVED:String = "removed"`

The `Event.REMOVED` constant defines the value of the `type` property of a `removed` event object.

This event has the following properties:

###

`staticinline read onlyREMOVED_FROM_STAGE:String = "removedFromStage"`

The `Event.REMOVED_FROM_STAGE` constant defines the value of the `type` property of a `removedFromStage` event object.

This event has the following properties:

###

`staticinline read onlyRENDER:String = "render"`

The `Event.RENDER` constant defines the value of the `type` property of a `render` event object.

Note: This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not.

This event has the following properties:

###

`staticinline read onlyRESIZE:String = "resize"`

The `Event.RESIZE` constant defines the value of the `type` property of a `resize` event object.

This event has the following properties:

###

`staticinline read onlySCROLL:String = "scroll"`

The `Event.SCROLL` constant defines the value of the `type` property of a `scroll` event object.

This event has the following properties:

###

`staticinline read onlySELECT:String = "select"`

The `Event.SELECT` constant defines the value of the `type` property of a `select` event object.

This event has the following properties:

###

`staticinline read onlySELECT_ALL:String = "selectAll"`

###

`staticinline read onlySOUND_COMPLETE:String = "soundComplete"`

The `Event.SOUND_COMPLETE` constant defines the value of the `type` property of a `soundComplete` event object.

This event has the following properties:

###

`staticinline read onlyTAB_CHILDREN_CHANGE:String = "tabChildrenChange"`

The `Event.TAB_CHILDREN_CHANGE` constant defines the value of the `type` property of a `tabChildrenChange` event object.

This event has the following properties:

###

`staticinline read onlyTAB_ENABLED_CHANGE:String = "tabEnabledChange"`

The `Event.TAB_ENABLED_CHANGE` constant defines the value of the `type` property of a `tabEnabledChange` event object.

This event has the following properties:

###

`staticinline read onlyTAB_INDEX_CHANGE:String = "tabIndexChange"`

The `Event.TAB_INDEX_CHANGE` constant defines the value of the `type` property of a `tabIndexChange` event object.

This event has the following properties:

###

`staticinline read onlyTEXTURE_READY:String = "textureReady"`

###

`staticinline read onlyUNLOAD:String = "unload"`

The `Event.UNLOAD` constant defines the value of the `type` property of an `unload` event object.

This event has the following properties: