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

Static variables

@:value("menuItemSelect")staticinlineread onlyMENU_ITEM_SELECT:EventType<ContextMenuEvent> = "menuItemSelect"

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.

@:value("menuSelect")staticinlineread onlyMENU_SELECT:EventType<ContextMenuEvent> = "menuSelect"

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.

Constructor

@:value({ contextMenuOwner : null, mouseTarget : null, cancelable : false, bubbles : false })new(type:String, bubbles:Bool = false, cancelable:Bool = false, ?mouseTarget:InteractiveObject, ?contextMenuOwner:InteractiveObject)

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

Parameters:

type

The type of the event. Possible values are: ContextMenuEvent.MENU_ITEM_SELECT ContextMenuEvent.MENU_SELECT

bubbles

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

Determines whether the Event object can be canceled. Event listeners can access this information through the inherited cancelable property.

mouseTarget

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

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

Variables

contextMenuOwner:InteractiveObject

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.

mouseTarget:InteractiveObject

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.

Methods

Inherited Variables

Defined by Event

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:Object

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:

read onlytarget:Object

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.

Inherited Methods

Defined by Event

@:value({ p5 : null, p4 : null, p3 : null, p2 : null, p1 : null })formatToString(className:String, ?p1:String, ?p2:String, ?p3:String, ?p4:String, ?p5:String):String

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

class PingEvent extends Event {
	var URL:String;

	public function new() {
		super();
	}

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

Parameters:

className

The name of your custom Event class. In the previous example, the className parameter is PingEvent.

Returns:

The name of your custom Event class and the String value of your ...arguments parameter.

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.