References > " . "Element Reference"; $pagetitle="Menupopup"; $customsidebar = "elemref-sidebar.php"; include "header.php"; ?>

Menupopup

A container used to display menus. It should be placed inside a menu, menulist or menu-type button element. It can contain any element but usually will contain menuitem elements. It is a type of box that defaults to vertical orientation.

More information about menupopup

The menupopup element implements the following interfaces:

nsIAccessibleProvider   nsIDOMXULPopupElement  

Attributes:

ignorekeys onpopuphidden onpopuphiding onpopupshowing onpopupshown
position

Properties and Methods:

accessible hidePopup moveTo popupBoxObject position
showPopup sizeTo

Attributes:

Inherited from XUL Element:

align
allowevents
allownegativeassertions
class
coalesceduplicatearcs
collapsed
container
containment
context
contextmenu
datasources
debug
dir
empty
equalsize
flags
flex
height
hidden
id
insertafter
insertbefore
left
maxheight
maxwidth
menu
minheight
minwidth
observes
ordinal
orient
pack
persist
popup
position
ref
removeelement
sortDirection
sortResource
sortResource2
statustext
style
template
tooltip
tooltiptext
top
uri
wait-cursor
width

ignorekeys

Type: boolean

If true, keyboard navigation between menu items in the popup is disabled.

onpopuphidden

Type: script code

This event is sent to a popup after it has been hidden.

onpopuphiding

Type: script code

This event is sent to a popup when it is about to be hidden.

onpopupshowing

Type: script code

This event is sent to a menupopup just before it is popped open. This handler is usually used to dynamically set the commands on a menu when the user requests to display it. Returning false from this event handler prevents the popup from appearing.

onpopupshown

Type: script code

This is event is sent to a popup after it has been opened, much like the onload event is sent to a window when it is opened.

position

Type: one of the values below

The position attribute determines where the popup appears relative to the element the user clicked to invoke the popup. This allows you to place the menu on one side on a button.


Properties and Methods:

Inherited from XUL Element:

align
allowEvents
blur
boxObject
boxObject.element
boxObject.getLookAndFeelMetric
boxObject.height
boxObject.screenX
boxObject.screenY
boxObject.width
boxObject.x
boxObject.y
builder
className
click
collapsed
contextMenu
controllers
database
datasources
dir
doCommand
flex
focus
getElementsByAttribute
height
hidden
id
left
maxHeight
maxWidth
menu
minHeight
minWidth
observes
ordinal
orient
pack
persist
ref
resource
statusText
style
tooltip
tooltipText
top
width

Inherited from Element:

addEventListener
appendChild
attributes
childNodes
cloneNode
dispatchEvent
firstChild
getAttribute
getAttributeNS
getAttributeNode
getAttributeNodeNS
getElementsByTagName
getElementsByTagNameNS
hasAttribute
hasAttributeNS
hasAttributes
hasChildNodes
insertBefore
isSupported
lastChild
localName
namespaceURI
nextSibling
nodeName
nodeType
nodeValue
normalize
ownerDocument
parentNode
prefix
previousSibling
removeAttribute
removeAttributeNS
removeAttributeNode
removeChild
removeEventListener
replaceChild
setAttribute
setAttributeNS
setAttributeNode
setAttributeNodeNS
tagName

accessible

Type: nsIAccessible

Returns the accessibility object for the menupopup.

hidePopup ( )

Return Type: no return value

Closes the popup menu immediately.

moveTo ( x , y )

Return Type: no return value

Moves the popup to a new location.

popupBoxObject

Type: nsIPopupBoxObject

This read-only property holds the nsIPopupBoxObject that implements the menupopup. You wouldn't normally need to use this property as all of its functions are available via the menupopup itself.

position

Type: one of the values below

The position attribute determines where the popup appears relative to the element the user clicked to invoke the popup. This allows you to place the menu on one side on a button.

showPopup ( element, x , y , popupType, anchor, align )

Return Type: no return value

Opens a popup window. There are two ways of specifying where the popup appears, either at a specific screen position, or relative to some element in the window. If either x and y are set to values, the popup will appear at the screen coordinate (x,y). If x and y are -1, the popup will be positioned relative to the element specified as the first argument. This is what you might do to show a popup underneath a button for example. In this latter case, the anchor and align arguments may be used to further control where the popup appears relative to the element. The anchor argument corresponds to the popupanchor attribute on the element. The align argument corresponds to the popupalign attribute on the element. The anchor and align attributes are ignored if either x or y are not -1.

To have a popup appear relative to another element yet still be offset by some number of pixels, determine the actual screen position of the element using the boxObject.screenX and boxObject.screenY properties of the element and use those as the x and y arguments offset by the desired values.

Type should be either the string "popup", "context" or "tooltip". Each type of popup is intended to be displayed only temporarily, they are not excepted to be displayed permanently. Only one popup may be displayed at a time. This example will open the popup anchored on the bottom-left corner of the button someButton:

  menupopup.showPopup (someButton,-1,-1,"popup","bottomleft","topleft");  

sizeTo ( width , height )

Return Type: no return value

Changes the current size of the popup to a new width and height.