# Yahoo! UI Library

### Menu 2.5.1

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

Show Private Show Protected

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

Horizontal collection of items, each of which can contain a submenu.

### Constructor

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

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

### Properties

#### CSS_CLASS_NAME `- final String`

String representing the CSS class(es) to be applied to the menu bar's `<div>` element.
Default Value: "yuimenubar"

#### DEFAULT_CONFIG `- private final Object`

Constant representing the MenuBar's configuration properties

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

`DEFAULT_CONFIG, EVENT_TYPES, YAHOO.widget.Overlay._initialized`

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

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

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

`_aGroupTitleElements, _aItemGroups, _aListElements, _bHandledMouseOutEvent, _bHandledMouseOverEvent, _bHideDelayEventHandlersAssigned, _bStopMouseEventHandlers, _nBodyScrollId, _nCurrentMouseX, _nHideDelayId, _nShowDelayId, _nSubmenuHideDelayId, _sClassName, activeItem, CSS_CLASS_NAME, DEFAULT_CONFIG, EVENT_TYPES, GROUP_TITLE_TAG_NAME, ITEM_TYPE, itemData, lazyLoad, OFF_SCREEN_POSITION, parent, srcElement`

### Methods

#### _onClick

`protected void _onClick ( p_sType , p_aArgs , p_oMenuBar )`
"click" event handler for the menu bar.

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_oMenuBar <YAHOO.widget.MenuBar>` Object representing the menu bar that fired the event.

Returns: `void`

#### _onKeyDown

`private void _onKeyDown ( p_sType , p_aArgs , p_oMenuBar )`
"keydown" Custom Event handler for the menu bar.

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_oMenuBar <YAHOO.widget.MenuBar>` Object representing the menu bar that fired the event.

Returns: `void`

#### checkPosition

`private Boolean checkPosition ( p_sPosition )`
Checks to make sure that the value of the "position" property is one of the supported strings. Returns true if the position is supported.

Parameters:
  `p_sPosition <Object>` String specifying the position of the menu.

Returns: `Boolean`

#### init

`void init ( p_oElement , p_oConfig )`
The MenuBar 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 menu bar.
  `p_oElement <String>` String specifying the id attribute of the `<select>` element to be used as the data source for the menu bar.
  `p_oElement <HTMLDivElement>` Object specifying the `<div>` element of the menu bar.
  `p_oElement <HTMLSelectElement>` Object specifying the `<select>` element to be used as the data source for the menu bar.
  `p_oConfig <Object>` Optional. Object literal specifying the configuration for the menu bar. See configuration class documentation for more details.

Returns: `void`

#### initDefaultConfig

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

Returns: `void`

#### toString

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

Returns: `String`

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

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

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

`_addToParent, _initResizeMonitor, _supportsCWResize, 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, _configureSubmenu, _createItemGroup, _disableScrollFooter, _disableScrollHeader, _enableScrollFooter, _enableScrollHeader, _execHideDelay, _execShowDelay, _execSubmenuHideDelay, _getFirstEnabledItem, _getItemGroup, _initSubTree, _onBeforeHide, _onBeforeRender, _onBeforeShow, _onClick, _onInit, _onItemAdded, _onKeyDown, _onKeyPress, _onMenuItemBlur, _onMenuItemConfigChange, _onMenuItemDestroy, _onMenuItemFocus, _onMouseMove, _onMouseOut, _onMouseOver, _onParentMenuConfigChange, _onParentMenuRender, _onRender, _onScrollTargetMouseOut, _onScrollTargetMouseOver, _onShow, _onSubmenuBeforeShow, _onVisibleChange, _onYChange, _removeItemFromGroupByIndex, _removeItemFromGroupByValue, _setMaxHeight, _subscribeToItemEvents, _updateItemProperties, addItem, addItems, blur, checkPosition, clearActiveItem, clearContent, configClassName, configContainer, configDisabled, configHideDelay, configIframe, configMaxHeight, configPosition, configVisible, destroy, enforceConstraints, focus, getItem, getItemGroups, getItems, getRoot, getSubmenus, hasFocus, init, initDefaultConfig, initEvents, insertItem, onRender, positionOffScreen, removeItem, setInitialFocus, setInitialSelection, setItemGroupTitle, subscribe, 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 YAHOO.widget.Module.textResizeEvent`

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

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

### Configuration Attributes

#### autosubmenudisplay `- Boolean`

Boolean indicating if submenus are automatically made visible when the user mouses over the menu bar's items.
Default Value: false

#### position `- String`

String indicating how a menu bar should be positioned on the screen. Possible values are "static" and "dynamic." Static menu bars are visible by default and reside in the normal flow of the document (CSS position: static). Dynamic menu bars are hidden by default, reside out of the normal flow of the document (CSS position: absolute), and can overlay other elements on the screen.
Default Value: static

#### submenualignment `- Array`

Array defining how submenus should be aligned to their parent menu bar item. The format is: [itemCorner, submenuCorner].
Default Value: ["tl","bl"]

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

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

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

`appendtodocumentbody, effect, monitorresize, visible,`

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

`autosubmenudisplay, classname, clicktohide, constraintoviewport, container, context, disabled, effect, fixedcenter, hidedelay, iframe, maxheight, minscrollheight, position, scrollincrement, showdelay, submenualignment, submenuhidedelay, visible, x, xy, y, zindex,`

Copyright © 2007 Yahoo! Inc. All rights reserved.