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

View in English Always switch to English

HTMLDialogElement: showModal() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since März 2022.

Die showModal()-Methode des HTMLDialogElement-Interfaces zeigt das Dialogfeld als modales Dialogfeld an, das alle anderen sichtbaren Dialoge oder Elemente überlagert.

Ein modales Dialogfeld wird in der obersten Ebene zusammen mit einem ::backdrop Pseudo-Element angezeigt. Elemente im selben Dokument wie das Dialogfeld, mit Ausnahme des Dialogfelds und seiner Nachkommen, werden inert (als ob das inert-Attribut angegeben ist). Nur das umgebende Dokument wird blockiert; wenn das Dialogfeld in einem iframe gerendert wird, bleibt der Rest der Seite interaktiv.

Syntax

js
showModal()

Parameter

Keine.

Rückgabewert

Keine (undefined).

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn das Dialogfeld bereits geöffnet und nicht-modal ist (d.h. wenn das Dialogfeld bereits mit HTMLDialogElement.show() geöffnet wurde).

Beispiele

Grundlegende Verwendung

Das folgende Beispiel zeigt einen einfachen Button, der bei einem Klick ein <dialog> mit der showModal()-Methode öffnet.

Wenn das Dialogfeld geöffnet ist, können Sie nicht mit dem Rest der Seite interagieren, einschließlich des Klickens auf den Button Click me, der andernfalls einen Alarm auslösen würde.

Sie können auf den Button Close dialog klicken, um das Dialogfeld zu schließen (über die HTMLDialogElement.close()-Methode).

HTML

html
<dialog id="dialog">
  <button type="button" id="close">Close dialog</button>
</dialog>

<p><button id="open">Open dialog</button></p>
<p><button id="alert">Trigger alert</button></p>

JavaScript

js
const dialog = document.getElementById("dialog");
const openButton = document.getElementById("open");
const closeButton = document.getElementById("close");
const alertButton = document.getElementById("alert");

// Open button opens a modal dialog
openButton.addEventListener("click", () => {
  dialog.showModal();
});

// Alert button triggers an alert
alertButton.addEventListener("click", () => {
  alert("you clicked me!");
});

// Close button closes the dialog box
closeButton.addEventListener("click", () => {
  dialog.close();
});

Ergebnis

Spezifikationen

Specification
HTML
# dom-dialog-showmodal-dev

Browser-Kompatibilität

Siehe auch