Adobe® Flex® 4 Language Reference
Hide Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
flash.events 
ContextMenuEvent 
Packageflash.events
Classpublic class ContextMenuEvent
InheritanceContextMenuEvent Inheritance Event Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 9, AIR 1.0

An InteractiveObject dispatches a ContextMenuEvent object when the user opens or interacts with the context menu. There are two types of ContextMenuEvent objects:
  • ContextMenuEvent.MENU_ITEM_SELECT
  • ContextMenuEvent.MENU_SELECT

View the examples

See also



Public Properties
 PropertyDefined By
 Inheritedbubbles : Boolean
[read-only] Indicates whether an event is a bubbling event.
Event
 Inheritedcancelable : 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
  contextMenuOwner : InteractiveObject
The display list object to which the menu is attached.
ContextMenuEvent
 InheritedcurrentTarget : Object
[read-only] The object that is actively processing the Event object with an event listener.
Event
 InheritedeventPhase : uint
[read-only] The current phase in the event flow.
Event
  isMouseTargetInaccessible : Boolean
Indicates whether the mouseTarget property was set to null for security reasons.
ContextMenuEvent
  mouseTarget : InteractiveObject
The display list object on which the user right-clicked to display the context menu.
ContextMenuEvent
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
 Inheritedtarget : Object
[read-only] The event target.
Event
 Inheritedtype : String
[read-only] The type of event.
Event
Public Methods
 MethodDefined By
  
ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null)
Creates an Event object that contains specific information about menu events.
ContextMenuEvent
  
[override] Creates a copy of the ContextMenuEvent object and sets the value of each property to match that of the original.
ContextMenuEvent
 Inherited
formatToString(className:String, ... arguments):String
A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes.
Event
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Checks whether the preventDefault() method 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
 Inherited
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
 Inherited
Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow.
Event
 Inherited
Prevents processing of any event listeners in nodes subsequent to the current node in the event flow.
Event
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
  
[override] Returns a string that contains all the properties of the ContextMenuEvent object.
ContextMenuEvent
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined By
 InheritedACTIVATE : String = "activate"
[static] The ACTIVATE constant defines the value of the type property of an activate event object.
Event
 InheritedADDED : String = "added"
[static] The Event.ADDED constant defines the value of the type property of an added event object.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[static] The Event.ADDED_TO_STAGE constant defines the value of the type property of an addedToStage event object.
Event
 InheritedCANCEL : String = "cancel"
[static] The Event.CANCEL constant defines the value of the type property of a cancel event object.
Event
 InheritedCHANGE : String = "change"
[static] The Event.CHANGE constant defines the value of the type property of a change event object.
Event
 InheritedCLEAR : String = "clear"
[static] The Event.CLEAR constant efines the value of the type property of a clear event object.
Event
 InheritedCLOSE : String = "close"
[static] The Event.CLOSE constant defines the value of the type property of a close event object.
Event
 InheritedAIR-only CLOSING : String = "closing"
[static] The Event.CLOSING constant defines the value of the type property of a closing event object.
Event
 InheritedCOMPLETE : String = "complete"
[static] The Event.COMPLETE constant defines the value of the type property of a complete event object.
Event
 InheritedCONNECT : String = "connect"
[static] The Event.CONNECT constant defines the value of the type property of a connect event object.
Event
 InheritedCOPY : String = "copy"
[static] Defines the value of the type property of a copy event object.
Event
 InheritedCUT : String = "cut"
[static] Defines the value of the type property of a cut event object.
Event
 InheritedDEACTIVATE : String = "deactivate"
[static] The Event.DEACTIVATE constant defines the value of the type property of a deactivate event object.
Event
 InheritedDISPLAYING : String = "displaying"
[static] The Event.DISPLAYING constant defines the value of the type property of a displaying event object.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[static] The Event.ENTER_FRAME constant defines the value of the type property of an enterFrame event object.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[static] The Event.EXIT_FRAME constant defines the value of the type property of an exitFrame event object.
Event
 InheritedAIR-only EXITING : String = "exiting"
[static] The Event.EXITING constant defines the value of the type property of an exiting event object.
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[static] The Event.FRAME_CONSTRUCTED constant defines the value of the type property of an frameConstructed event object.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[static] The Event.FULL_SCREEN constant defines the value of the type property of a fullScreen event object.
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[static] The Event.HTML_BOUNDS_CHANGE constant defines the value of the type property of an htmlBoundsChange event object.
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[static] The Event.HTML_DOM_INITIALIZE constant defines the value of the type property of an htmlDOMInitialize event object.
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[static] The Event.HTML_RENDER constant defines the value of the type property of an htmlRender event object.
Event
 InheritedID3 : String = "id3"
[static] The Event.ID3 constant defines the value of the type property of an id3 event object.
Event
 InheritedINIT : String = "init"
[static] The Event.INIT constant defines the value of the type property of an init event object.
Event
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[static] The Event.LOCATION_CHANGE constant defines the value of the type property of a locationChange event object.
Event
  MENU_ITEM_SELECT : String = "menuItemSelect"
[static] Defines the value of the type property of a menuItemSelect event object.
ContextMenuEvent
  MENU_SELECT : String = "menuSelect"
[static] Defines the value of the type property of a menuSelect event object.
ContextMenuEvent
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[static] The Event.MOUSE_LEAVE constant defines the value of the type property of a mouseLeave event object.
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[static] The Event.NETWORK_CHANGE constant defines the value of the type property of a networkChange event object.
Event
 InheritedOPEN : String = "open"
[static] The Event.OPEN constant defines the value of the type property of an open event object.
Event
 InheritedPASTE : String = "paste"
[static] The Event.PASTE constant defines the value of the type property of a paste event object.
Event
 InheritedREMOVED : String = "removed"
[static] The Event.REMOVED constant defines the value of the type property of a removed event object.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[static] The Event.REMOVED_FROM_STAGE constant defines the value of the type property of a removedFromStage event object.
Event
 InheritedRENDER : String = "render"
[static] The Event.RENDER constant defines the value of the type property of a render event object.
Event
 InheritedRESIZE : String = "resize"
[static] The Event.RESIZE constant defines the value of the type property of a resize event object.
Event
 InheritedSCROLL : String = "scroll"
[static] The Event.SCROLL constant defines the value of the type property of a scroll event object.
Event
 InheritedSELECT : String = "select"
[static] The Event.SELECT constant defines the value of the type property of a select event object.
Event
 InheritedSELECT_ALL : String = "selectAll"
[static] The Event.SELECT_ALL constant defines the value of the type property of a selectAll event object.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[static] The Event.SOUND_COMPLETE constant defines the value of the type property of a soundComplete event object.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[static] The Event.TAB_CHILDREN_CHANGE constant defines the value of the type property of a tabChildrenChange event object.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[static] The Event.TAB_ENABLED_CHANGE constant defines the value of the type property of a tabEnabledChange event object.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[static] The Event.TAB_INDEX_CHANGE constant defines the value of the type property of a tabIndexChange event object.
Event
 InheritedUNLOAD : String = "unload"
[static] The Event.UNLOAD constant defines the value of the type property of an unload event object.
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[static] The Event.USER_IDLE constant defines the value of the type property of a userIdle event object.
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[static] The Event.USER_PRESENT constant defines the value of the type property of a userPresent event object.
Event
Property Detail

contextMenuOwner

property
contextMenuOwner:InteractiveObject

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 9, AIR 1.0

The display list object to which the menu is attached. This could be the mouse target (mouseTarget) or one of its ancestors in the display list.



Implementation
    public function get contextMenuOwner():InteractiveObject
    public function set contextMenuOwner(value:InteractiveObject):void

isMouseTargetInaccessible

property 
isMouseTargetInaccessible:Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.0

Indicates whether the mouseTarget property was set to null for security reasons. If the nominal value of menuTarget would be a reference to a DisplayObject in another security sandbox, then menuTarget is set to null unless there is permission in both directions across this sandbox boundary. Permission is established by calling Security.allowDomain() from a SWF file, or providing a policy file from the server of an image file, and setting the LoaderContext.checkPolicyFile flag when loading the image.



Implementation
    public function get isMouseTargetInaccessible():Boolean
    public function set isMouseTargetInaccessible(value:Boolean):void

See also

mouseTarget

property 
mouseTarget:InteractiveObject

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 9, AIR 1.0

The display list object on which the user right-clicked to display the context menu. This could be the display list object to which the menu is attached (contextMenuOwner) or one of its display list descendants.

The value of this property can be null in two circumstances: if there no mouse target, for example when you mouse over something from the background; or there is a mouse target, but it is in a security sandbox to which you don't have access. Use the isMouseTargetInaccessible() property to determine which of these reasons applies.



Implementation
    public function get mouseTarget():InteractiveObject
    public function set mouseTarget(value:InteractiveObject):void

See also

Constructor Detail

ContextMenuEvent

()Constructor
public function ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null)

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 9, AIR 1.0

Creates an Event object that contains specific information about menu events. Event objects are passed as parameters to event listeners.

Parameters
type:String — The type of the event. Possible values are:
  • ContextMenuEvent.MENU_ITEM_SELECT
  • ContextMenuEvent.MENU_SELECT
 
bubbles:Boolean (default = false) — Determines whether the Event object participates in the bubbling stage of the event flow. Event listeners can access this information through the inherited bubbles property.
 
cancelable:Boolean (default = false) — Determines whether the Event object can be canceled. Event listeners can access this information through the inherited cancelable property.
 
mouseTarget:InteractiveObject (default = null) — The display list object on which the user right-clicked to display the context menu. This could be the contextMenuOwner or one of its display list descendants.
 
contextMenuOwner:InteractiveObject (default = null) — The display list object to which the menu is attached. This could be the mouseTarget or one of its ancestors in the display list.

See also

Method Detail

clone

()method
override public function clone():Event

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 9, AIR 1.0

Creates a copy of the ContextMenuEvent object and sets the value of each property to match that of the original.

Returns
Event — A new ContextMenuEvent object with property values that match those of the original.

toString

()method 
override public function toString():String

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 9, AIR 1.0

Returns a string that contains all the properties of the ContextMenuEvent object. The string is in the following format:

[ContextMenuEvent type=value bubbles=value cancelable=value ... contextMenuOwner=value]

Returns
String — A string that contains all the properties of the ContextMenuEvent object.
Constant Detail

MENU_ITEM_SELECT

Constant
public static const MENU_ITEM_SELECT:String = "menuItemSelect"

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 9, AIR 1.0

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

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
contextMenuOwnerThe display list object to which the menu is attached.
currentTargetThe object that is actively processing the Event object with an event listener.
mouseTargetThe display list object on which the user right-clicked to display the context menu.
targetThe ContextMenuItem object that has been selected. 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

MENU_SELECT

Constant 
public static const MENU_SELECT:String = "menuSelect"

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 9, AIR 1.0

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

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
contextMenuOwnerThe display list object to which the menu is attached.
currentTargetThe object that is actively processing the Event object with an event listener.
mouseTargetThe display list object on which the user right-clicked to display the context menu.
targetThe ContextMenu object that is about to be displayed. 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

ContextMenuEventExample.as

The following example uses the ContextMenuEventExample class to remove the default context menu items from the Stage and add a new menu item that changes the color of a square on the Stage. The example carries out the following tasks:
  1. The myContextMenu property is declared and then assigned to a new ContextMenu object and the redRectangle property (of type Sprite) is declared.
  2. The removeDefaultItems() method is called. This method removes all built-in context menu items except Print.
  3. The addCustomMenuItems() method is called. This method places a Reverse Colors menu item in the defaultItems array by using the push() method of Array. A menuItemSelect event listener is added to the ContextMenuItem object and the associated method is called menuItemSelectHandler(). This method prints some trace() statements whenever the user selects Reverse Colors from the context menu. In addition the red square becomes black and the black text becomes red.
  4. Back in the constructor, a menuSelect event listener is added, along with the associated method menuSelectHandler(), which simply prints out three trace() statements every time an item in the context menu is selected.
  5. The constructor calls addChildren(), which draws a red square and adds it to the display list, which immediately displays the square.
  6. Finally, myContextMenu is assigned to the context menu of the redRectangle property, so that the custom context menu is displayed only when the mouse pointer is over the square.
package {
    import flash.ui.ContextMenu;
    import flash.ui.ContextMenuItem;
    import flash.ui.ContextMenuBuiltInItems;
    import flash.events.ContextMenuEvent;
    import flash.display.Sprite;
    import flash.display.Shape;
    import flash.text.TextField;

    public class ContextMenuEventExample extends Sprite {
        private var myContextMenu:ContextMenu;
        private var menuLabel:String = "Reverse Colors";
        private var textLabel:String = "Right Click";
        private var redRectangle:Sprite;
        private var label:TextField;
        private var size:uint = 100;
        private var black:uint = 0x000000;
        private var red:uint = 0xFF0000;

        public function ContextMenuEventExample() {
            myContextMenu = new ContextMenu();
            removeDefaultItems();
            addCustomMenuItems();
            myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler);

            addChildren();
            redRectangle.contextMenu = myContextMenu;
        }

        private function addChildren():void {
            redRectangle = new Sprite();
            redRectangle.graphics.beginFill(red);
            redRectangle.graphics.drawRect(0, 0, size, size);
            addChild(redRectangle);
            redRectangle.x = size;
            redRectangle.y = size;
            label = createLabel();
            redRectangle.addChild(label);
        }

        private function removeDefaultItems():void {
            myContextMenu.hideBuiltInItems();
            var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems;
            defaultItems.print = true;
        }

        private function addCustomMenuItems():void {
            var item:ContextMenuItem = new ContextMenuItem(menuLabel);
            myContextMenu.customItems.push(item);
            item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler);
        }

        private function menuSelectHandler(event:ContextMenuEvent):void {
            trace("menuSelectHandler: " + event);
        }

        private function menuItemSelectHandler(event:ContextMenuEvent):void {
            trace("menuItemSelectHandler: " + event);
            var textColor:uint = (label.textColor == black) ? red : black;
            var bgColor:uint = (label.textColor == black) ? black : red;
            redRectangle.graphics.clear();
            redRectangle.graphics.beginFill(bgColor);
            redRectangle.graphics.drawRect(0, 0, size, size);
            label.textColor = textColor;
        }

        private function createLabel():TextField {
            var txtField:TextField = new TextField();
            txtField.text = textLabel;
            return txtField;
        }
    }
}