CloseWatcher:requestClose() 方法

实验性: 这是一个 实验性技术
在生产环境中使用它之前,请仔细查看 浏览器兼容性表

requestClose() 方法是 CloseWatcher 接口的方法,它会触发一个 cancel 事件,如果该事件没有被 Event.preventDefault() 取消,则会继续触发一个 close 事件,最后像调用 destroy() 一样停用关闭观察器。

语法

js
requestClose()

参数

无。

返回值

无 (undefined).

示例

使用 requestClose() 方法

在本示例中,您拥有自己的 UI 组件(选择器),并且希望支持平台的默认关闭方法(例如 Esc 键)和自定义关闭方法(一个关闭按钮)。

UI 组件的 onclick 处理程序可以调用 requestClose 以请求关闭,并将关闭请求路由到平台关闭方法使用的同一个 onclose 处理程序。

js
const watcher = new CloseWatcher();
const picker = setUpAndShowPickerDOMElement();
let chosenValue = null;

watcher.onclose = () => {
  chosenValue = picker.querySelector("input").value;
  picker.remove();
};

picker.querySelector(".close-button").onclick = () => watcher.requestClose();

规范

规范
HTML 标准
# dom-closewatcher-requestclose

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。