HTMLDialogElement: cancel 事件
當用戶指示瀏覽器關閉當前開啟的對話方塊時,會在 <dialog> 元素上觸發 cancel 事件。當用戶按下 Esc 鍵時,瀏覽器會觸發此事件。
此事件是可取消的,但不能冒泡。
當使用 Esc 鍵關閉 <dialog> 時,會同時觸發 cancel 和 close 事件。
語法
在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。
js
addEventListener("cancel", (event) => { })
oncancel = (event) => { }
事件型別
一個通用的 Event。
示例
取消對話方塊
HTML
html
<dialog class="example-dialog">
<button class="close">Close</button>
</dialog>
<button class="open-dialog">Open dialog</button>
<div class="result"></div>
JavaScript
js
const result = document.querySelector(".result");
const dialog = document.querySelector(".example-dialog");
dialog.addEventListener("cancel", (event) => {
result.textContent = "dialog was canceled";
});
const openDialog = document.querySelector(".open-dialog");
openDialog.addEventListener("click", () => {
if (typeof dialog.showModal === "function") {
dialog.showModal();
result.textContent = "";
} else {
result.textContent = "The dialog API is not supported by this browser";
}
});
const closeButton = document.querySelector(".close");
closeButton.addEventListener("click", () => {
dialog.close();
});
結果
規範
| 規範 |
|---|
| HTML # event-cancel |
| HTML # handler-oncancel |
瀏覽器相容性
載入中…
另見
- HTML
<dialog>元素