CloseWatcher: requestClose() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

CloseWatcher 介面的 requestClose() 方法會觸發一個 cancel 事件,如果該事件沒有被 Event.preventDefault() 阻止,那麼它將繼續觸發一個 close 事件,最後停用該 close watcher,就如同呼叫了 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

瀏覽器相容性