# Yahoo! UI Library

### Menu Library

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

#### _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

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

`YAHOO.widget.Overlay._initialized`

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

`body, browser, cfg, contructor, element, footer, header, id, imageRoot, isSecure, platform`

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

`_aGroupTitleElements, _aItemGroups, _aListElements, _bHandledMouseOutEvent, _bHandledMouseOverEvent, _hideDelayEventHandlersAssigned, _nHideDelayId, _nShowDelayId, activeItem, CSS_CLASS_NAME, getNextItemSibling, GROUP_TITLE_TAG_NAME, ITEM_TYPE, itemData, lazyLoad, parent, srcElement`

### 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`

#### 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`

#### 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, _execHideDelay, _execShowDelay, _getFirstEnabledItem, _getItemGroup, _getOffsetWidth, _initSubTree, _onBeforeHide, _onBeforeRender, _onBeforeShow, _onClick, _onInit, _onKeyDown, _onMenuItemBlur, _onMenuItemConfigChange, _onMenuItemFocus, _onMouseOut, _onMouseOver, _onParentMenuConfigChange, _onParentMenuRender, _onRender, _onShow, _onSubmenuBeforeShow, _onSubmenuHide, _onSubmenuShow, _removeItemFromGroupByIndex, _removeItemFromGroupByValue, _subscribeToItemEvents, _updateItemProperties, addItem, addItems, clearActiveItem, configContainer, configHideDelay, configIframe, configPosition, configVisible, destroy, disableAutoSubmenuDisplay, enforceConstraints, getItem, getItemGroups, getRoot, init, initDefaultConfig, initEvents, insertItem, onDomResize, removeItem, setInitialFocus, setInitialSelection, setItemGroupTitle, toString`

#### 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`

#### 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, clicktohide, constraintoviewport, container, hidedelay, position, showdelay, submenualignment, visible`

Copyright © 2006 Yahoo! Inc. All rights reserved.