View comments | RSS feed
Packageflash.events
Classpublic class Event
InheritanceEvent Inheritance Object
SubclassesActivityEvent, CalendarLayoutChangeEvent, ChannelEvent, ChildExistenceChangedEvent, CloseEvent, CollectionEvent, ColorPickerEvent, ContextMenuEvent, CuePointEvent, DataConflictEvent, DataGridEvent, DateChooserEvent, DividerEvent, DropdownEvent, DynamicEvent, EffectEvent, FlexEvent, FocusEvent, HTTPStatusEvent, IndexChangedEvent, ItemClickEvent, KeyboardEvent, ListEvent, LoadEvent, LogEvent, MessageEvent, MessageFaultEvent, MouseEvent, MoveEvent, NetStatusEvent, NumericStepperEvent, ProgressEvent, PropertyChangeEvent, ResizeEvent, ScrollEvent, SliderEvent, StateChangeEvent, StatusEvent, SyncEvent, TextEvent, TimerEvent, ToolTipEvent, TreeEvent, TweenEvent, ValidationResultEvent, VideoEvent

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. The Flash® Player 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 stopPropogation() or stopImmediatePropogation() method.

View the examples.

See also

flash.events.EventDispatcher
About events
About the Event class
Using events
Manually dispatching events
Event propagation
Event priorities
Using event subclasses
About keyboard events
Event objects


Public Properties
 PropertyDefined by
  bubbles : Boolean
[read-only] Indicates whether an event is a bubbling event.
Event
  cancelable : Boolean
[read-only] Indicates whether the behavior associated with the event can be prevented.
Event
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  currentTarget : Object
[read-only] The object that is actively processing the Event object with an event listener.
Event
  eventPhase : uint
[read-only] The current phase in the event flow.
Event
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  target : Object
[read-only] The event target.
Event
  type : String
[read-only] The type of event.
Event
Public Methods
 MethodDefined by
  
Event(type:String, bubbles:Boolean = false, cancelable:Boolean = false)
Creates an Event object to pass as a parameter to event listeners.
Event
  
Duplicates an instance of an Event subclass.
Event
  
formatToString(className:String, ... arguments):String
A utility function for implementing the toString() method in your custom Event class.
Event
 Inherited
Indicates whether an object has a specified property defined.
Object
  
Checks whether preventDefault() has been called on the event.
Event
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
  
Cancels an event's default behavior if that behavior can be canceled.
Event
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
  
Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow.
Event
  
Prevents processing of any event listeners in nodes subsequent to the current node in the event flow.
Event
  
Returns a string containing all the properties of the Event object.
Event
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined by
  ACTIVATE : String = "activate"
[static] Defines the value of the type property of an activate event object.
Event
  ADDED : String = "added"
[static] Defines the value of the type property of an added event object.
Event
  CANCEL : String = "cancel"
[static] Defines the value of the type property of a cancel event object.
Event
  CHANGE : String = "change"
[static] Defines the value of the type property of a change event object.
Event
  CLOSE : String = "close"
[static] Defines the value of the type property of a close event object.
Event
  COMPLETE : String = "complete"
[static] Defines the value of the type property of a complete event object.
Event
  CONNECT : String = "connect"
[static] Defines the value of the type property of a connect event object.
Event
  DEACTIVATE : String = "deactivate"
[static] Defines the value of the type property of a deactivate event object.
Event
  ENTER_FRAME : String = "enterFrame"
[static] Defines the value of the type property of an enterFrame event object.
Event
  ID3 : String = "id3"
[static] Defines the value of the type property of an id3 event object.
Event
  INIT : String = "init"
[static] Defines the value of the type property of an init event object.
Event
  MOUSE_LEAVE : String = "mouseLeave"
[static] Defines the value of the type property of a mouseLeave event object.
Event
  OPEN : String = "open"
[static] Defines the value of the type property of an open event object.
Event
  REMOVED : String = "removed"
[static] Defines the value of the type property of a removed event object.
Event
  RENDER : String = "render"
[static] Defines the value of the type property of a render event object.
Event
  RESIZE : String = "resize"
[static] Defines the value of the type property of a resize event object.
Event
  SCROLL : String = "scroll"
[static] Defines the value of the type property of a scroll event object.
Event
  SELECT : String = "select"
[static] Defines the value of the type property of a select event object.
Event
  SOUND_COMPLETE : String = "soundComplete"
[static] Defines the value of the type property of a soundComplete event object.
Event
  TAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[static] Defines the value of the type property of a tabChildrenChange event object.
Event
  TAB_ENABLED_CHANGE : String = "tabEnabledChange"
[static] Defines the value of the type property of a tabEnabledChange event object.
Event
  TAB_INDEX_CHANGE : String = "tabIndexChange"
[static] Defines the value of the type property of a tabIndexChange event object.
Event
  UNLOAD : String = "unload"
[static] Defines the value of the type property of an unload event object.
Event
Property detail
bubblesproperty
bubbles:Boolean  [read-only]

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.

Implementation
    public function get bubbles():Boolean

See also

cancelableproperty 
cancelable:Boolean  [read-only]

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.

Implementation
    public function get cancelable():Boolean

See also

currentTargetproperty 
currentTarget:Object  [read-only]

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.

Implementation
    public function get currentTarget():Object

See also

eventPhaseproperty 
eventPhase:uint  [read-only]

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

Implementation
    public function get eventPhase():uint

See also

targetproperty 
target:Object  [read-only]

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.

Implementation
    public function get target():Object

See also

typeproperty 
type:String  [read-only]

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

Implementation
    public function get type():String

See also

Constructor detail
Event()constructor
public function Event(type:String, bubbles:Boolean = false, cancelable:Boolean = false)

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

Parameters
type:String — The type of the event, accessible as Event.type.
 
bubbles:Boolean (default = false) — Determines whether the Event object participates in the bubbling stage of the event flow. The default value is false.
 
cancelable:Boolean (default = false) — Determines whether the Event object can be canceled. The default values is false.
Method detail
clone()method
public function 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().

  class PingEvent extends Event {
   var URL:String;
   
  public override function clone():Event {
        return new PingEvent(type, bubbles, cancelable, URL);
     }
  }
  

Returns
Event — A new Event object that is identical to the original.

See also

formatToString()method 
public function formatToString(className:String, ... arguments):String

A utility function for implementing the toString() method in your custom Event class. Overriding the toString() method is recommended, but not required.

  class PingEvent extends Event {
   var URL:String;
  
  public override function toString():String { 
   return formatToString("PingEvent", "type", "bubbles", "cancelable", "eventPhase", "URL"); 
     }
  }
  

Parameters
className:String — The name of your custom Event class. In the previous example, the className parameter is PingEvent.
 
... arguments — The properties of the Event class and the properties that you add in your custom Event class. In the previous example, the ...arguments parameter includes type, bubbles, cancelable, eventPhase, and URL.

Returns
String — The name of your custom Event class and the String value of your ...arguments parameter.
isDefaultPrevented()method 
public function isDefaultPrevented():Boolean

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

Returns
Boolean — If preventDefault() has been called, returns true; otherwise, returns false.

See also

preventDefault()method 
public function preventDefault():void

Cancels an event's default behavior if that behavior can be canceled.

Many events have associated behaviors that Flash Player carries 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.

See also

stopImmediatePropagation()method 
public function 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.

See also

stopPropagation()method 
public function 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.

See also

toString()method 
public function 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
String — A string containing all the properties of the Event object.

See also

Constant detail
ACTIVATEconstant
public static const ACTIVATE:String = "activate"

Defines the value of the type property of an activate event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetAny DisplayObject instance with a listener registered for the ACTIVATE event. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

ADDEDconstant 
public static const ADDED:String = "added"

Defines the value of the type property of an added event object.

This event has the following properties:

PropertyValue
bubblestrue
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe DisplayObject instance being added to the display list. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

CANCELconstant 
public static const CANCEL:String = "cancel"

Defines the value of the type property of a cancel event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetA reference to the object on which the operation is canceled.

See also

CHANGEconstant 
public static const CHANGE:String = "change"

Defines the value of the type property of a change event object.

This event has the following properties:

PropertyValue
bubblestrue
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object that has had its value modified. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

CLOSEconstant 
public static const CLOSE:String = "close"

Defines the value of the type property of a close event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object whose connection has been closed.

See also

COMPLETEconstant 
public static const COMPLETE:String = "complete"

Defines the value of the type property of a complete event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe network object that has completed loading. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

CONNECTconstant 
public static const CONNECT:String = "connect"

Defines the value of the type property of a connect event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe Socket or XMLSocket object that has established a network connection.

See also

DEACTIVATEconstant 
public static const DEACTIVATE:String = "deactivate"

Defines the value of the type property of a deactivate event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetAny DisplayObject instance with a listener registered for the DEACTIVATE event. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

ENTER_FRAMEconstant 
public static const ENTER_FRAME:String = "enterFrame"

Defines the value of the type property of an enterFrame event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetAny DisplayObject instance with a listener registered for the ENTER_FRAME event. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

ID3constant 
public static const ID3:String = "id3"

Defines the value of the type property of an id3 event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe Sound object loading the MP3 for which ID3 data is now available. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

INITconstant 
public static const INIT:String = "init"

Defines the value of the type property of an init event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe LoaderInfo object associated with the SWF file being loaded.

See also

MOUSE_LEAVEconstant 
public static const MOUSE_LEAVE:String = "mouseLeave"

Defines the value of the type property of a mouseLeave event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe Stage object. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

OPENconstant 
public static const OPEN:String = "open"

Defines the value of the type property of an open event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe network object that has opened a connection.

See also

REMOVEDconstant 
public static const REMOVED:String = "removed"

Defines the value of the type property of a removed event object.

This event has the following properties:

PropertyValue
bubblestrue
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe DisplayObject instance to be removed from the display list. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

RENDERconstant 
public static const RENDER:String = "render"

Defines the value of the type property of a render event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; the default behavior cannot be canceled.
currentTargetThe object that is actively processing the Event object with an event listener.
targetAny DisplayObject instance with a listener registered for the RENDER event. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

RESIZEconstant 
public static const RESIZE:String = "resize"

Defines the value of the type property of a resize event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe Stage object.

See also

SCROLLconstant 
public static const SCROLL:String = "scroll"

Defines the value of the type property of a scroll event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe TextField object that has been scrolled. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

SELECTconstant 
public static const SELECT:String = "select"

Defines the value of the type property of a select event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe FileReference object on which an item has been selected.

See also

SOUND_COMPLETEconstant 
public static const SOUND_COMPLETE:String = "soundComplete"

Defines the value of the type property of a soundComplete event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe Sound object on which a sound has finished playing.

See also

TAB_CHILDREN_CHANGEconstant 
public static const TAB_CHILDREN_CHANGE:String = "tabChildrenChange"

Defines the value of the type property of a tabChildrenChange event object.

This event has the following properties:

PropertyValue
bubblestrue
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object whose tabChildren flag has changed. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

TAB_ENABLED_CHANGEconstant 
public static const TAB_ENABLED_CHANGE:String = "tabEnabledChange"

Defines the value of the type property of a tabEnabledChange event object.

This event has the following properties:

PropertyValue
bubblestrue
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe InteractiveObject whose tabEnabled flag has changed. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

TAB_INDEX_CHANGEconstant 
public static const TAB_INDEX_CHANGE:String = "tabIndexChange"

Defines the value of the type property of a tabIndexChange event object.

This event has the following properties:

PropertyValue
bubblestrue
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object whose tabIndex has changed. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

See also

UNLOADconstant 
public static const UNLOAD:String = "unload"

Defines the value of the type property of an unload event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe LoaderInfo object associated with the SWF file being unloaded or replaced.

See also

Examples

The following example uses the EventExample class and the Square custom class to demonstrate how to manage event bubbling.
package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;

    public class EventExample extends Sprite {
        
        public function EventExample() {
            var square_0:Square = new Square(300, 0x336633);
            addChild(square_0);
            
            var square_1:Square = new Square(250, 0x669966);
            square_0.addChild(square_1);

            var square_2:Square = new Square(200, 0x66CC66);
            square_1.addChild(square_2);

            var square_3:Square = new Square(150, 0xAA0000);
            square_3.shouldBubble = false;
            square_2.addChild(square_3);

            var square_4:Square = new Square(100, 0x66FF66);
            square_3.addChild(square_4);

            var square_5:Square = new Square(50, 0xCC0000);
            square_5.shouldBubble = false;
            square_4.addChild(square_5);

            this.addEventListener(MouseEvent.CLICK, clickHandler);
        }
        
        private function clickHandler(e:Event):void {
            trace(">> stage: " + e.type + " event from " + e.target.name + " called on " + this.name);
            trace(">> --------------------------------------------");
        }
    }
}

import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;

class Square extends Sprite {
    private var sideLen:int;
    private var color:Number;
    public var shouldBubble:Boolean = true;

    public function Square(sideLen:int, color:Number) {
        this.sideLen = sideLen;
        this.color = color;
        init();
        draw();
    }
        
    private function init():void {
        buttonMode = true;
        this.addEventListener(MouseEvent.CLICK, firstClickHandler);
        this.addEventListener(MouseEvent.CLICK, secondClickHandler);
        this.addEventListener(MouseEvent.CLICK, thirdClickHandler);
    }
        
    private function draw():void {
        this.graphics.beginFill(color);
        this.graphics.drawRect(0, 0, sideLen, sideLen);
    }
        
    private function firstClickHandler(e:Event):void {
        trace(">> 1e: " + e.type + " event from " + e.target.name + " called on " + this.name);
        if(!shouldBubble) {
            e.stopPropagation();
        }
    }

    private function secondClickHandler(e:Event):void {
        trace(">> 2e: " + e.type + " event from " + e.target.name + " called on " + this.name);
        if(!shouldBubble) {
            e.stopImmediatePropagation();
            trace(">> --------------------------------------------");
        }
    }

    private function thirdClickHandler(e:Event):void {
        trace(">> 3e: " + e.type + " event from " + e.target.name + " called on " + this.name);
    }
}




Comments


jeb1138 said on Jul 3, 2006 at 3:33 PM :
In the initial explanatory paragraphs 'Propagation' is misspelled as 'Propogation' in stopPropogation and stopImmediatePropogation.

 

RSS feed | Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/flex/2/langref/flash/events/Event.html