Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

HTMLElement: showPopover()-Methode

Baseline 2024
Neu verfügbar

Seit April 2024 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Die showPopover()-Methode des HTMLElement-Interfaces zeigt ein Popover-Element (d.h. eines, das ein gültiges popover-Attribut hat) an, indem es in die oberste Ebene eingefügt wird.

Wenn showPopover() auf ein Element mit dem popover-Attribut aufgerufen wird, das derzeit verborgen ist, wird ein beforetoggle-Event ausgelöst, gefolgt von der Anzeige des Popovers, und dann wird das toggle-Event ausgelöst.

Syntax

js
showPopover()
showPopover(options)

Parameter

options Optional

Ein Objekt, das die folgenden Eigenschaften enthalten kann:

source Optional

Eine HTMLElement-Referenz; definiert programmgesteuert den Auslöser des mit der Anzeigeaktion verbundenen Popovers, d.h. dessen Steuerelement. Die Herstellung einer Beziehung zwischen einem Popover und seinem Auslöser mithilfe der source-Option hat zwei nützliche Effekte:

  • Der Browser platziert das Popover in einer logischen Position in der Tastatur-Fokus-Navigationsreihenfolge, wenn es angezeigt wird. Dies macht das Popover für Tastaturnutzer besser zugänglich (siehe auch Popover-Zugänglichkeitsfunktionen).
  • Der Browser erstellt eine implizite Ankerreferenz zwischen den beiden Elementen, was es sehr bequem macht, Popover relativ zu ihren Steuerelementen mittels CSS-Ankerpositionierung zu positionieren. Siehe Popover-Ankerpositionierung für weitere Details.

Rückgabewert

Keiner (undefined).

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn diese Methode aufgerufen wird, während ein anderes Popover bereits gerade angezeigt oder verborgen wird (z. B. innerhalb eines beforetoggle-Event Listeners).

Beispiele

Das folgende Beispiel bietet eine Funktionalität, um ein Popover durch Drücken einer bestimmten Taste auf der Tastatur anzuzeigen.

Zuerst etwas HTML:

html
<div id="mypopover" popover>
  <h2>Help!</h2>

  <p>You can use the following commands to control the app</p>

  <ul>
    <li>Press <ins>C</ins> to order cheese</li>
    <li>Press <ins>T</ins> to order tofu</li>
    <li>Press <ins>B</ins> to order bacon</li>
  </ul>
  <hr />
  <ul>
    <li>Say "Service" to summon the robot waiter to take your order</li>
    <li>Say "Escape" to engage the ejector seat</li>
  </ul>
</div>

Und nun der JavaScript-Code, um die Funktionalität zu verbinden:

js
const popover = document.getElementById("mypopover");

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

Spezifikationen

Spezifikation
HTML
# dom-showpopover

Browser-Kompatibilität

Siehe auch