CloseWatcher: cancel 事件
在 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 |
浏览器兼容性
加载中…