# Yahoo! UI Library

### Menu 2.2.2

Yahoo! UI Library > menu > YAHOO.widget.ContextMenu

## Class YAHOO.widget.ContextMenu - extends YAHOO.widget.Menu

Creates a list of options or commands which are made visible in response to an HTML element's "contextmenu" event ("mousedown" for Opera).

### Constructor

YAHOO.widget.ContextMenu `( p_oElement , p_oConfig )`

Parameters:
  `p_oElement <String>` String specifying the id attribute of the `<div>` element of the context menu.
  `p_oElement <String>` String specifying the id attribute of the `<select>` element to be used as the data source for the context menu.
  `p_oElement <HTMLDivElement>` Object specifying the `<div>` element of the context menu.
  `p_oElement <HTMLSelectElement>` Object specifying the `<select>` element to be used as the data source for the context menu.
  `p_oConfig <Object>` Optional. Object literal specifying the configuration for the context menu. See configuration class documentation for more details.

### Properties

#### _bCancelled `- private Boolean`

Boolean indicating if the display of the context menu should be cancelled.
Default Value: false

#### _oTrigger `- private String|HTMLElement|Array`

Object reference to the current value of the "trigger" configuration property.
Default Value: null

#### contextEventTarget `- HTMLElement`

Object reference for the HTML element that was the target of the "contextmenu" DOM event ("mousedown" for Opera) that triggered the display of the context menu.
Default Value: null

#### YAHOO.widget.ContextMenu._DEFAULT_CONFIG `- private final Object`

Constant representing the ContextMenu's configuration properties

#### YAHOO.widget.ContextMenu._EVENT_TYPES `- private final Object`

Constant representing the name of the ContextMenu's events

#### Properties inherited from YAHOO.widget.Overlay:

`YAHOO.widget.Overlay._DEFAULT_CONFIG, YAHOO.widget.Overlay._EVENT_TYPES, YAHOO.widget.Overlay._initialized`

#### Properties inherited from YAHOO.widget.Module:

`body, browser, cfg, contructor, element, footer, header, id, imageRoot, isSecure, platform, YAHOO.widget.Module._DEFAULT_CONFIG, YAHOO.widget.Module._EVENT_TYPES`

#### Properties inherited from YAHOO.widget.Menu:

`_aGroupTitleElements, _aItemGroups, _aListElements, _bHandledMouseOutEvent, _bHandledMouseOverEvent, _bHideDelayEventHandlersAssigned, _bStopMouseEventHandlers, _nBodyScrollId, _nCurrentMouseX, _nHideDelayId, _nMaxHeight, _nShowDelayId, _nSubmenuHideDelayId, _sClassName, activeItem, CSS_CLASS_NAME, GROUP_TITLE_TAG_NAME, ITEM_TYPE, itemData, lazyLoad, parent, srcElement, YAHOO.widget.Menu._DEFAULT_CONFIG, YAHOO.widget.Menu._EVENT_TYPES`

### Methods

#### _onTriggerClick

`private void _onTriggerClick ( p_oEvent , p_oMenu )`
"click" event handler for the HTML element(s) identified as the "trigger" for the context menu. Used to cancel default behaviors in Opera.

Parameters:
  `p_oEvent <Event>` Object representing the DOM event object passed back by the event utility (YAHOO.util.Event).
  `p_oMenu <YAHOO.widget.ContextMenu>` Object representing the context menu that is handling the event.

Returns: `void`

#### _onTriggerContextMenu

`private void _onTriggerContextMenu ( p_oEvent , p_oMenu )`
"contextmenu" event handler ("mousedown" for Opera) for the HTML element(s) that trigger the display of the context menu.

Parameters:
  `p_oEvent <Event>` Object representing the DOM event object passed back by the event utility (YAHOO.util.Event).
  `p_oMenu <YAHOO.widget.ContextMenu>` Object representing the context menu that is handling the event.

Returns: `void`

#### _removeEventHandlers

`private void _removeEventHandlers ( )`
Removes all of the DOM event handlers from the HTML element(s) whose "context menu" event ("click" for Opera) trigger the display of the context menu.

Returns: `void`

#### cancel

`void cancel ( )`
Cancels the display of the context menu.

Returns: `void`

#### configTrigger

`void configTrigger ( p_sType , p_aArgs , p_oMenu )`
Event handler for when the value of the "trigger" configuration property changes.

Parameters:
  `p_sType <String>` String representing the name of the event that was fired.
  `p_aArgs <Array>` Array of arguments sent when the event was fired.
  `p_oMenu <YAHOO.widget.ContextMenu>` Object representing the context menu that fired the event.

Returns: `void`

#### destroy

`void destroy ( )`
Removes the context menu's `<div>` element (and accompanying child nodes) from the document.

Returns: `void`

#### init

`void init ( p_oElement , p_oConfig )`
The ContextMenu class's initialization method. This method is automatically called by the constructor, and sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.

Parameters:
  `p_oElement <String>` String specifying the id attribute of the `<div>` element of the context menu.
  `p_oElement <String>` String specifying the id attribute of the `<select>` element to be used as the data source for the context menu.
  `p_oElement <HTMLDivElement>` Object specifying the `<div>` element of the context menu.
  `p_oElement <HTMLSelectElement>` Object specifying the `<select>` element to be used as the data source for the context menu.
  `p_oConfig <Object>` Optional. Object literal specifying the configuration for the context menu. See configuration class documentation for more details.

Returns: `void`

#### initDefaultConfig

`void initDefaultConfig ( )`
Initializes the class's configurable properties which can be changed using the context menu's Config object ("cfg").

Returns: `void`

#### initEvents

`void initEvents ( )`
Initializes the custom events for the context menu.

Returns: `void`

#### toString

`String toString ( )`
Returns a string representing the context menu.

Returns: `String`

#### Methods inherited from YAHOO.widget.Overlay:

`align, center, configConstrainToViewport, configContext, configFixedCenter, configHeight, configIframe, configVisible, configWidth, configX, configXY, configY, configzIndex, destroy, doCenterOnDOMEvent, enforceConstraints, hideIframe, hideMacGeckoScrollbars, init, initDefaultConfig, initEvents, moveTo, onDomResize, showIframe, showMacGeckoScrollbars, syncPosition, toString`

#### Methods inherited from YAHOO.widget.Module:

`appendToBody, appendToFooter, appendToHeader, configMonitorResize, configVisible, destroy, hide, init, initDefaultConfig, initEvents, initResizeMonitor, onDomResize, render, setBody, setFooter, setHeader, show, toString`

#### Methods inherited from YAHOO.widget.Menu:

`_addItemToGroup, _cancelHideDelay, _cancelShowDelay, _checkPosition, _configureSubmenu, _createItemGroup, _disableScrollFooter, _disableScrollHeader, _enableScrollFooter, _enableScrollHeader, _execHideDelay, _execShowDelay, _execSubmenuHideDelay, _getFirstEnabledItem, _getItemGroup, _getOffsetWidth, _initSubTree, _onBeforeHide, _onBeforeRender, _onBeforeShow, _onClick, _onHide, _onInit, _onKeyDown, _onKeyPress, _onMenuItemBlur, _onMenuItemConfigChange, _onMenuItemFocus, _onMouseMove, _onMouseOut, _onMouseOver, _onParentMenuConfigChange, _onParentMenuRender, _onRender, _onScrollTargetMouseOut, _onScrollTargetMouseOver, _onShow, _onSubmenuBeforeShow, _onSubmenuHide, _onSubmenuShow, _onTextResize, _onVisibleChange, _onWidthChange, _removeItemFromGroupByIndex, _removeItemFromGroupByValue, _setMaxHeight, _setWidth, _subscribeToItemEvents, _updateItemProperties, addItem, addItems, blur, clearActiveItem, clearContent, configClassName, configContainer, configHideDelay, configIframe, configMaxHeight, configPosition, configVisible, destroy, enforceConstraints, focus, getItem, getItemGroups, getItems, getRoot, hasFocus, init, initDefaultConfig, initEvents, insertItem, removeItem, setInitialFocus, setInitialSelection, setItemGroupTitle, toString`

### Events

#### triggerContextMenuEvent

`triggerContextMenuEvent ( )`
Custom Event wrapper for the "contextmenu" DOM event ("mousedown" for Opera) fired by the element(s) that trigger the display of the context menu.

#### Events inherited from YAHOO.widget.Overlay:

`beforeMoveEvent, moveEvent, YAHOO.widget.Overlay.windowResizeEvent, YAHOO.widget.Overlay.windowScrollEvent`

#### Events inherited from YAHOO.widget.Module:

`appendEvent, beforeHideEvent, beforeInitEvent, beforeRenderEvent, beforeShowEvent, changeBodyEvent, changeContentEvent, changeFooterEvent, changeHeaderEvent, destroyEvent, hideEvent, initEvent, renderEvent, showEvent, YAHOO.widget.Module.textResizeEvent`

#### Events inherited from YAHOO.widget.Menu:

`clickEvent, itemAddedEvent, itemRemovedEvent, keyDownEvent, keyPressEvent, keyUpEvent, mouseDownEvent, mouseOutEvent, mouseOverEvent, mouseUpEvent`

### Configuration Attributes

#### trigger `- String|HTMLElement|Array`

The HTML element(s) whose "contextmenu" event ("mousedown" for Opera) trigger the display of the context menu. Can be a string representing the id attribute of the HTML element, an object reference for the HTML element, or an array of strings or HTML element references.
Default Value: null

#### Configuration attributes inherited from YAHOO.widget.Overlay:

`constraintoviewport, context, fixedcenter, height, iframe, width, x, xy, y, zIndex`

#### Configuration attributes inherited from YAHOO.widget.Module:

`effect, monitorresize, visible`

#### Configuration attributes inherited from YAHOO.widget.Menu:

`autosubmenudisplay, classname, clicktohide, constraintoviewport, container, hidedelay, maxheight, position, showdelay, submenualignment, submenuhidedelay, visible`

Copyright © 2007 Yahoo! Inc. All rights reserved.