Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

HTMLElement : méthode showPopover()

Baseline 2024
Nouvellement disponible

Depuis avril 2024, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.

La méthode showPopover() de l'interface HTMLElement affiche une fenêtre contextuelle (c'est-à-dire un élément possédant un attribut popover valide) en l'ajoutant à la couche supérieure.

Lorsque showPopover() est appelée sur un élément avec l'attribut popover qui est actuellement masqué, un évènement beforetoggle est déclenché, suivi de l'affichage de la fenêtre contextuelle (popover en anglais), puis de l'évènement toggle.

js
showPopover()
showPopover(options)

Paramètres

options Facultatif

Un objet qui peut contenir les propriétés suivantes :

source Facultatif

Une référence HTMLElement ; définit par programmation l'élément déclencheur de la fenêtre contextuelle associée à l'action d'affichage, c'est-à-dire son élément de contrôle. Établir une relation entre une fenêtre contextuelle et son déclencheur avec l'option source a deux effets utiles :

Valeur de retour

Aucune (undefined).

Exceptions

InvalidStateError DOMException

Levée si cette méthode est appelée alors qu'un autre fenêtre contextuelle est déjà en train d'être affichée ou masquée (par exemple, au sein d'un écouteur d'évènement beforetoggle).

Exemples

L'exemple suivant permet d'afficher une fenêtre contextuelle en appuyant sur une touche particulière du clavier.

Tout d'abord, le code HTML :

html
<div id="ma-fenetre" popover>
  <h2>Aide&nbsp;!</h2>

  <p>
    Vous pouvez utiliser les commandes suivantes pour contrôler
    l'application&nbsp;:
  </p>

  <ul>
    <li>Appuyez sur <ins>C</ins> pour commander du fromage</li>
    <li>Appuyez sur <ins>T</ins> pour commander du tofu</li>
    <li>Appuyez sur <ins>B</ins> pour commander du bacon</li>
  </ul>
  <hr />
  <ul>
    <li>
      Dites «&nbsp;Service&nbsp;» pour appeler le serveur robot et prendre votre
      commande
    </li>
    <li>Dites «&nbsp;Échap&nbsp;» pour activer le siège éjectable</li>
  </ul>
</div>

Ensuite, le JavaScript pour relier la fonctionnalité :

js
const fenetreContextuelle = document.getElementById("ma-fenetre");

document.addEventListener("keydown", (event) => {
  if (event.key === "h") {
    fenetreContextuelle.showPopover();
  }
});

Spécifications

Spécification
HTML
# dom-showpopover

Compatibilité des navigateurs

Voir aussi