HTMLDialogElement: close()-Methode - Web-APIs | MDN

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: close()-Methode

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2022 browserübergreifend verfügbar.

>

Die close()-Methode des HTMLDialogElement-Interfaces schließt das <dialog>. Ein optionaler String kann als Argument übergeben werden, um den returnValue des Dialogs zu aktualisieren.

Das close-Ereignis wird ausgelöst, nachdem der Dialog geschlossen wurde. Im Gegensatz zum Aufruf von HTMLDialogElement.requestClose() kann die Schließ-Operation nicht abgebrochen werden.

Syntax

js
close()
close(returnValue)

Parameter

returnValue Optional

Ein String, der den vorhandenen Wert von HTMLDialogElement.returnValue ersetzt.

Rückgabewert

Keiner (undefined).

Beispiele

>

Einen Dialog schließen

Das folgende Beispiel zeigt einen Button, der beim Klicken ein <dialog> über die showModal()-Methode öffnet. Von dort aus können Sie entweder den Close-Button klicken, um den Dialog über die close()-Methode zu schließen.

Der Close-Button schließt den Dialog ohne einen returnValue, während der Button Close w/ return value den Dialog mit einem returnValue schließt.

HTML

html
<dialog id="dialog">
  <button type="button" id="close">Close</button>
  <button type="button" id="close-w-value">Close w/ return value</button>
</dialog>

<button id="open">Open dialog</button>

JavaScript

js
const dialog = document.getElementById("dialog");
const openButton = document.getElementById("open");
const closeButton = document.getElementById("close");
const closeWithValueButton = document.getElementById("close-w-value");

// Update button opens a modal dialog
openButton.addEventListener("click", () => {
  // Reset the return value
  dialog.returnValue = "";
  // Show the dialog
  dialog.showModal();
});

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

// Close button closes the dialog box with a return value
closeWithValueButton.addEventListener("click", () => {
  dialog.close(`Closed at ${new Date().toLocaleTimeString()}`);
});

// Form close button closes the dialog box
dialog.addEventListener("close", () => {
  log(`Dialog closed. Return value: "${dialog.returnValue}"`);
});

Hinweis:

Wussten Sie, dass Sie einen <dialog> auch automatisch schließen können, indem Sie ein <form>-Element mit einem method="dialog"-Attribut abschicken?

Ergebnis

Spezifikationen

Spezifikation
HTML>
# dom-dialog-close-dev>

Browser-Kompatibilität

Siehe auch