ActionScript 3.0 Language and Components Reference | All Packages | All Classes | Language Elements | Index | Appendixes | Conventions | Frames No Frames |
ContextMenuEvent

Package | flash.events
Class | public class ContextMenuEvent
Inheritance | ContextMenuEvent Event Object

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Flash® Player dispatches ContextMenuEvent objects when a user generates or interacts with the context menu. Users generate the context menu by clicking the secondary button of the user's pointing device (usually a mouse or a trackball). There are two types of ContextMenuEvent objects:

- `ContextMenuEvent.MENU_ITEM_SELECT`
- `ContextMenuEvent.MENU_SELECT`

View the examples

See also

ContextMenu class
ContextMenuItem class

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined 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
|  | constructor : 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
|  | 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
|  | mouseTarget : InteractiveObject The display list object on which the user right-clicked to display the context menu. | ContextMenuEvent
|  | prototype : 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
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined 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
|  | clone():Event Creates a copy of the ContextMenuEvent object and sets the value of each property to match that of the original. | ContextMenuEvent
|  | formatToString(className:String, ... arguments):String A utility function for implementing the toString() method in your custom Event class. | Event
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isDefaultPrevented():Boolean Checks whether preventDefault() has been called on the event. | Event
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | preventDefault():void Cancels an event's default behavior if that behavior can be canceled. | Event
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | stopImmediatePropagation():void Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow. | Event
|  | stopPropagation():void Prevents processing of any event listeners in nodes subsequent to the current node in the event flow. | Event
|  | toString():String Returns a string that contains all the properties of the ContextMenuEvent object. | ContextMenuEvent
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Public Constants
Hide Inherited Public Constants
Show Inherited Public Constants

| Constant | Defined 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
|  | ADDED_TO_STAGE : String = "addedToStage" [static] Defines the value of the type property of an addedToStage 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
|  | CLEAR : String = "clear" [static] Defines the value of the type property of a clear 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
|  | COPY : String = "copy" [static] Defines the value of the type property of a copy event object. | Event
|  | CUT : String = "cut" [static] Defines the value of the type property of a cut 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
|  | EXIT_FRAME : String = "exitFrame" [static] Defines the value of the type property of an exitFrame event object. | Event
|  | FRAME_CONSTRUCTED : String = "frameConstructed" [static] Defines the value of the type property of an frameConstructed event object. | Event
|  | FULLSCREEN : String = "fullScreen" [static] Defines the value of the type property of a fullScreen 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
|  | 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
|  | 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
|  | PASTE : String = "paste" [static] Defines the value of the type property of a paste event object. | Event
|  | REMOVED : String = "removed" [static] Defines the value of the type property of a removed event object. | Event
|  | REMOVED_FROM_STAGE : String = "removedFromStage" [static] Defines the value of the type property of a removedFromStage 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
|  | SAMPLE_DATA : String = "sampleData" [static] Defines the value of the type property of a sampleData 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
|  | SELECT_ALL : String = "selectAll" [static] Defines the value of the type property of a selectAll 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

contextMenuOwner | property

`contextMenuOwner:InteractiveObject` [read-write]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

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`

mouseTarget | property |

`mouseTarget:InteractiveObject` [read-write]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

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.

Implementation
`public function get mouseTarget():InteractiveObject`
`public function set mouseTarget(value:InteractiveObject):void`
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

Player Version : | Flash Player 9

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

ContextMenuEvent.MENU_ITEM_SELECT
ContextMenuEvent.MENU_SELECT
Method Detail

clone | () | method

`override public function clone():Event`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

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

Player Version : | Flash Player 9

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

Player Version : | Flash Player 9

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

This event has the following properties:

Property | Value
--- | ---
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`contextMenuOwner` | The display list object to which the menu is attached.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`mouseTarget` | The display list object on which the user right-clicked to display the context menu.
`target` | The 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

flash.ui.ContextMenuItem.menuItemSelect

MENU_SELECT | Constant |

`public static const MENU_SELECT:String = "menuSelect"`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

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

This event has the following properties:

Property | Value
--- | ---
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`contextMenuOwner` | The display list object to which the menu is attached.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`mouseTarget` | The display list object on which the user right-clicked to display the context menu.
`target` | The 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

flash.ui.ContextMenu.menuSelect
Examples How to use examples
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;
            }
        }
    }

Submit Feedback on LiveDocs
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Tue May 20 2008, 04:02 AM -07:00