CloseWatcher:取消事件
在close
事件之前,会向 CloseWatcher
对象触发cancel
事件,这样就可以在必要时阻止close
事件触发。它由所有关闭信号(例如 Esc 键)以及 CloseWatcher.requestClose()
触发。
语法
在诸如 addEventListener()
之类的方法中使用事件名称,或者设置事件处理程序属性。
js
addEventListener("cancel", (event) => { })
oncancel = (event) => { }
事件类型
一个 Event
。
示例
使用cancel
事件
在本例中,我们要求用户确认是否真的要关闭组件,如果他们不确认,我们使用 Event.preventDefault()
取消事件,从而阻止close
事件触发。
js
watcher.addEventListener("cancel", (e) => {
if (e.cancelable && hasUnsavedData) {
const userReallyWantsToClose = confirm("Are you sure you want to close?");
if (!userReallyWantsToClose) {
e.preventDefault();
}
}
};
// Trigger a close request manually
watcher.requestClose();
规范
规范 |
---|
HTML 标准 # handler-closewatcher-oncancel |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。