HTMLInputElement:cancel 事件

Baseline 2023
新推出

自 ⁨2023 年 5 月⁩起,此功能可在最新的裝置和瀏覽器版本上使用。此功能可能無法在舊版裝置或瀏覽器上使用。

當用戶透過 Esc 鍵或取消按鈕取消檔案選擇器對話方塊,或者當用戶重新選擇已選中的 type="file" 的同一批檔案時,會 <input> 元素上觸發 cancel 事件。

此事件不可取消,但可以冒泡。

語法

在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。

js
addEventListener("cancel", (event) => { })

oncancel = (event) => { }

事件型別

一個通用的 Event

示例

取消輸入元素

HTML

html
<label for="file">Select a file. Or don't.</label>
<input type="file" id="file" name="file" />

<div id="result"></div>

JavaScript

js
const elem = document.getElementById("file");

const result = document.getElementById("result");

elem.addEventListener("cancel", () => {
  result.textContent = "Canceled.";
});

elem.addEventListener("change", () => {
  if (elem.files.length === 1) {
    result.textContent = "File Selected.";
  }
});

結果

開啟檔案選擇器,然後按 Escape 鍵或點選取消按鈕關閉選擇對話方塊。這兩種操作都會導致 cancel 事件被觸發。此外,嘗試選擇本地檔案;然後重新開啟檔案選擇視窗並重新選擇同一個檔案。這也將導致 cancel 事件被觸發。

規範

規範
HTML
# event-cancel
HTML
# handler-oncancel

瀏覽器相容性

另見