Baseline Widely available
Die showModal()
Methode der HTMLDialogElement
Schnittstelle zeigt den Dialog als Modal über allen anderen möglicherweise vorhandenen Dialogen an. Es wird in der oberen Ebene zusammen mit einem ::backdrop
Pseudo-Element angezeigt. Elemente innerhalb desselben Dokuments wie der Dialog, auÃer dem Dialog selbst und seinen Nachkommen, werden inert (als ob das inert
Attribut festgelegt wäre). Nur das enthaltende Dokument wird blockiert; wenn der Dialog in einem iframe gerendert wird, bleibt der Rest der Seite interaktiv.
Keine.
RückgabewertKeiner (undefined
).
InvalidStateError
DOMException
Wird ausgelöst, wenn der Dialog bereits geöffnet und nicht modal ist (d.h. wenn der Dialog bereits mit HTMLDialogElement.show()
geöffnet wurde).
Das folgende Beispiel zeigt einen Button, der beim Klicken ein modales <dialog>
mit einem Formular über die HTMLDialogElement.showModal()
Funktion öffnet. Während es geöffnet ist, ist alles auÃer dem Inhalt des modalen Dialogs inert. Von dort aus können Sie auf den Abbrechen-Button klicken, um den Dialog über die HTMLDialogElement.close()
Funktion zu schlieÃen, oder das Formular über den Abschicken-Button einreichen. Durch Drücken des Abbrechen-Buttons wird der Dialog geschlossen, wodurch ein close
Ereignis und kein cancel
Ereignis erzeugt wird.
<!-- pop-up dialog box, containing a form -->
<dialog id="favDialog">
<form method="dialog">
<p>
<label for="favAnimal">Favorite animal:</label>
<select id="favAnimal" name="favAnimal">
<option></option>
<option>Brine shrimp</option>
<option>Red panda</option>
<option>Spider monkey</option>
</select>
</p>
<div>
<button id="cancel" type="reset">Cancel</button>
<button type="submit">Confirm</button>
</div>
</form>
</dialog>
<div>
<button id="updateDetails">Update details</button>
</div>
JavaScript
const updateButton = document.getElementById("updateDetails");
const cancelButton = document.getElementById("cancel");
const dialog = document.getElementById("favDialog");
dialog.returnValue = "favAnimal";
function openCheck(dialog) {
if (dialog.open) {
console.log("Dialog open");
} else {
console.log("Dialog closed");
}
}
// Update button opens a modal dialog
updateButton.addEventListener("click", () => {
dialog.showModal();
openCheck(dialog);
});
// Form cancel button closes the dialog box
cancelButton.addEventListener("click", () => {
dialog.close("animalNotChosen");
openCheck(dialog);
});
Ergebnis Spezifikationen Browser-Kompatibilität Siehe auch
<dialog>
.Diese Seite wurde automatisch aus dem Englischen übersetzt.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4