Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

menupopup

Un conteneur utilisé pour afficher le contenu d'un menu popup. Lorsqu'un menupopup est ouvert, il flotte par dessus la fenêtre et peut s'étendre en dehors de celle-ci. Les menupopups peuvent être utilisés de plusieurs manières :

  1. On peut les placer dans un élément menu, menulist ou button avec l'attribut type défini à « menu » pour créer un popup qui s'ouvrira lors d'un clic sur le bouton ou menu.
  2. On peut les attacher à n'importe quel élément à l'aide de l'attribut popup. Lors d'un clic gauche sur l'élément, le menupopup sera affiché.
  3. On peut les attacher à n'importe quel élément à l'aide de l'attribut context. Lors de l'ouverture d'un menu contextuel, le menupopup sera affiché. Un menu contextuel peut être ouvert par un clic droit sur l'élément ou l'appui sur la touche menu du clavier.

Vous trouverez plus d'informations dans le Tutoriel XUL.

Attributs
ignorekeys, left, onpopuphidden, onpopuphiding, onpopupshowing, onpopupshown, position, top
Propriétés
accessibleType, popupBoxObject, popup, state
Méthodes
hidePopup, moveTo, openPopup, openPopupAtScreen, showPopup, sizeTo

Exemples

L'exemple suivant montre l'attachement d'un menupopup à un élément menulist.

<menulist>
  <menupopup>
    <menuitem label="Mozilla" value="http://mozilla.org"/>
    <menuitem label="Slashdot" value="http://slashdot.org"/>
    <menuitem label="Sourceforge" value="http://sf.net"/>
    <menuitem label="Freshmeat" value="http://freshmeat.net"/>
  </menupopup>
</menulist>

L'exemple qui suit montre l'utilisation d'un menupopup comme menu contextuel d'un élément. Lors d'un clic droit sur le label, le menu sera affiché.

Image:XUL_ref_popup.png
<menupopup id="clipmenu">
  <menuitem label="Couper"/>
  <menuitem label="Copier"/>
  <menuitem label="Coller"/>
</menupopup>
<label value="Clic droit pour ouvrir un popup" context="clipmenu"/>

Attributs

left
Type : entier
Remplace la position horizontale du popup spécifiée par la méthode showPopup.


onpopuphidden
Type : code de script
Cet évènement est envoyé à un popup après qu'il a été caché. http://www.langue-fr.net/index/A/apres-que.htm
onpopuphiding
Type : code de script
Cet évènement est envoyé à un popup lorsqu'il est sur le point d'être masqué.
onpopupshowing
Type : code de script
Cet évènement est envoyé à un popup juste avant son ouverture. On l'utilise généralement pour définir dynamiquement le contenu lorsque l'utilisateur demande son affichage. Si ce gestionnaire d'évènement renvoie false, le popup ne s'affichera pas.
onpopupshown
Type : code de script
Cet évènement est envoyé à un popup après son ouverture, de la même manière qu'un évènement onload est envoyé à une fenêtre à son ouverture.
position
Type : une des valeurs ci-dessous
L'attribut position détermine où le popup apparaît par rapport à l'élément sur lequel l'utilisateur a cliqué pour l'invoquer. C'est ce qui permet de placer le popup sur le bord d'un bouton.
  • after_start : Le popup apparait en dessous l'élément avec le coin supérieur gauche du popup aligné avec le coin inférieur gauche de l'élément. Les bords gauches de l'élément et du popup sont sur la même ligne. Cette valeur est typiquement uilisée pour les menus déroulants.
  • after_end : Le popup apparait en dessous l'élément avec le coin supérieur droit du popup aligné avec le coin inférieur droit de l'élément. Les bords droits de l'élément et du popup sont sur la même ligne.
  • before_start : Le popup apparait au dessus de l'élément avec le coin inférieur gauche du popup aligné avec le coin supérieur gauche de l'élément. Les bords gauches de l'élément et du popup sont sur la même ligne.
  • before_end : Le popup apparait au dessus de l'élément avec le coin inférieur droit du popup aligné avec le coin supérieur droit de l'élément. Les bords droits de l'élément et du popup sont sur la même ligne.
  • end_after : Le popup apparait à la droite de l'élément avec le coin inférieur gauche du popup aligné avec le coin inférieur droit de l'élément. Les bords inférieurs de l'élément et du popup sont sur la même ligne.
  • end_before : Le popup apparait à la droite de l'élément avec le coin supérieur gauche du popup aligné avec le coin supérieur droit de l'élément. Les bords supérieurs de l'élément et du popup sont sur la même ligne.
  • start_after : Le popup apparait à la gauche de l'élément avec le coin inférieur droit du popup aligné avec le coin inférieur gauche de l'élément. Les bords inférieurs de l'élément et du popup sont sur la même ligne.
  • start_before : Le popup apparait à la gauche de l'élément avec le coin supérieur droit du popup aligné avec le coin supérieur gauche de l'élément. Les bords supérieurs de l'élément et du popup sont sur la même ligne.
  • overlap : Le popup apparait par dessus l'élément avec les coins supérieurs gauches alignés.
  • at_pointer : Le popup apparait à la position du pointeur de la souris.
  • after_pointer : Le popup apparait à la même position horizontale que le pointeur de la souris, mais verticalement, il est placé juste sous l'élément.
top
Type : entier
Remplace la position verticale du popup spécifiée par la méthode showPopup.


Propriétés

accessibleType
Type : entier
Une valeur indiquant le type d'objet d'accessibilité pour l'élément.
popupBoxObject
Type : nsIPopupBoxObject
Cette propriété en lecture seule conserve le nsIPopupBoxObject qui implémente le popup. Il n'est normalement pas nécessaire d'utiliser cette propriété étant donné que toutes ses fonctions sont disponibles via le popup lui-même.
position
Type : chaîne
Obtient et définit la valeur de l'attribut position.
state
Type : chaîne
Cette propriété en lecture seule indique si le popup est ouvert ou non. Quatre valeurs sont possibles :
  • closed : Le popup est fermé et non visible.
  • open : Le popup est ouvert et visible sur l'écran.
  • showing : Une requête a été faite pour ouvrir le popup, mais il n'a pas encore été affiché. Cet état se produit durant l'évènement popupshowing.
  • hiding : Le popup est sur le point d'être masqué. Cet état se produit durant l'évènement popuphiding.

Méthodes

Héritées de XUL element
blur, click, doCommand, focus, getElementsByAttribute getElementsByAttributeNS

Héritées de DOM element
addEventListener(), appendChild(), dispatchEvent(), getAttribute(), getAttributeNode(), getAttributeNodeNS(), getAttributeNS(), getElementsByTagName(), getElementsByTagNameNS(), hasAttribute(), hasAttributeNS(), hasAttributes(), hasChildNodes(), insertBefore(), isSupported(), normalize(), removeAttribute(), removeAttributeNode(), removeAttributeNS(), removeChild(), removeEventListener(), replaceChild(), setAttribute(), setAttributeNode(), setAttributeNodeNS(), setAttributeNS()

hidePopup()
Type de retour : pas de valeur de retour
Ferme le popup immédiatement.
moveTo( x, y )
Type de retour : pas de valeur de retour
Déplace le popup vers un nouvel emplacement.
openPopup( anchor , position , x , y , isContextMenu, attributesOverride )
Type de retour : pas de valeur de retour

Ouvre le popup relativement à un nœud spécifié à un emplacement spécifique.

Le popup peut soit être ancré à un autre nœud ou ouvert librement. Pour ancrer un popup à un nœud, fournissez un nœud d'accrochage dans le paramètre anchor et définissez la position par une chaîne indiquant la manière dont le popup doit être ancré.

Les valeurs possibles pour le paramètre position sont : before_start, before_end, after_start, after_end, start_before, start_after, end_before, end_after, overlap, after_pointer

Le nœud d'accrochage ne doit pas nécessairement être dans le même document que le popup.

Si le paramètre attributesOverride vaut true, l'attribut position sur le nœud popup a priorité sur la valeur du paramètre position. Si attributesOverride vaut false, l'attribut n'est utilisé que si le paramètre position est vide.

Pour un popup ancré, les paramètres x et y peuvent être utilisés pour décaler le popup de sa position d'ancrage de quelques pixels (mesurés en pixels CSS).

Les popups non ancrés peuvent être créés en fournissant null comme paramètre anchor. Un popup non ancré apparait à la position spécifiée par x et y relativement à la zone visible (viewport) du document contenant le nœud popup. Dans ce cas, les paramètres position et attributesOverride sont ignorés.

openPopupAtScreen( x, y, isContextMenu )
Type de retour : pas de valeur de retour

Ouvre le popup à une position spécifique sur l'écran spécifiée par x et y. Cette position peut être ajustée s'il s'avère qu'elle provoquerait l'apparition du popup en dehors de l'écran. Les coordonnées x et y sont mesurées en pixels CSS.

showPopup( element, x, y, popupType, anchor, align ) Déprécié dans Mozilla 1.9
Type de retour : aucune valeur de retour
Ouvre un élément popup. Deux moyens de spécifier l'emplacement où s'affichera la fenêtre popup existent, soit en spécifiant une position spécifique de l'écran, soit par rapport à un autre élément de la fenêtre. Si <var>x</var> ou <var>y</var> sont définies par une valeur, le popup apparaîtra aux coordonnées (<var>x</var>,<var>y</var>) de l'écran. Si <var>x</var> et <var>y</var> sont définies à -1, le popup sera positionné par rapport à l'<var>element</var> spécifié dans le premier paramètre. C'est cette dernière méthode qu'il faut utiliser, par exemple, pour afficher un popup sous un bouton. Dans ce cas, les paramètres <var>anchor</var> et <var>align</var> peuvent être utilisés pour contrôler plus avant l'endroit où apparaîtra le popup par rapport à l'élément. Le paramètre <var>anchor</var> correspond à l'attribut popupanchor de l'élément et le paramètre <var>align</var> correspond à l'attribut popupalign. Les paramètres <var>anchor</var> et <var>align</var> sont ignorés si ni <var>x</var> ni <var>y</var> ne valent -1.
Pour qu'un popup apparaisse à une position relative à un autre élément tout en étant décalé de quelques pixels, déterminez la position réelle de l'élément à l'aide de ses propriétés boxObject.screenX et boxObject.screenY, et utilisez celles-ci comme paramètres <var>x</var> et <var>y</var> en y ajoutant les décalages souhaités.
Le paramètre <var>popupType</var> doit être une des chaînes popup, context ou tooltip. Chaque type de popup est destiné à être affiché temporairement ; ils ne sont pas censés être affichés de façon permanente. On ne peut afficher qu'un popup à la fois.
sizeTo( <i>largeur</i>, <i>hauteur</i> )
Type de retour : aucune valeur de retour
Modifie la taille actuelle de la fenêtre popup avec les nouvelles dimensions <var>largeur</var> et <var>hauteur</var>.

Sujets liés

Éléments
menu, menubar, menuitem, menulist, menuseparator
Interfaces
nsIAccessibleProvider, nsIDOMXULPopupElement

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : lmorchard, BenoitL
 Dernière mise à jour par : lmorchard,