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
showPopover()
showPopover(options)
Parameter
optionsOptional-
Ein Objekt, das die folgenden Eigenschaften enthalten kann:
sourceOptional-
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 dersource-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
InvalidStateErrorDOMException-
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:
<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:
const popover = document.getElementById("mypopover");
document.addEventListener("keydown", (event) => {
if (event.key === "h") {
popover.showPopover();
}
});
Spezifikationen
| Spezifikation |
|---|
| HTML> # dom-showpopover> |