HTMLDialogElement: close event - Web APIs | MDN
Syntax
Use the event name in methods like addEventListener(), or set an event handler property.
js
addEventListener("close", (event) => { })
onclose = (event) => { }
Event type
A generic Event.
Examples
Handling close events
This example demonstrates how to listen for close events triggered by several different methods for closing a dialog:
- Calling the
close()method - A form with
method="dialog". Submitting the form closes thedialogand causes asubmitevent to be fired, without submitting data or clearing the form - The Esc key.
See
cancelevent
HTML
html
<dialog id="dialog">
<form method="dialog">
<button type="submit">Close via method="dialog"</button>
</form>
<p><button id="close">Close via .close() method</button></p>
<p>Or hit the <kbd>Esc</kbd> key</p>
</dialog>
<button id="open">Open dialog</button>
#log {
height: 170px;
overflow: scroll;
padding: 0.5rem;
border: 1px solid black;
}
const logElement = document.getElementById("log");
function log(text, clear = false) {
if (clear) {
logElement.innerText = "";
}
logElement.innerText = `${logElement.innerText}${text}\n`;
logElement.scrollTop = logElement.scrollHeight;
}
JavaScript
js
const dialog = document.getElementById("dialog");
const openButton = document.getElementById("open");
const closeButton = document.getElementById("close");
openButton.addEventListener("click", () => {
log("open button click event fired", true);
log("dialog showModal() called");
dialog.showModal();
});
closeButton.addEventListener("click", () => {
log("close button click event fired");
log("dialog close() called");
dialog.close();
});
dialog.addEventListener("close", (event) => {
log("dialog close event fired");
});
Result
Specifications
| Specification |
|---|
| HTML # event-close |
Browser compatibility
See also
- HTML
<dialog>element