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>元素