HTMLDialogElement: close 事件

基线 2022

新可用

2022年3月起,此功能可在最新的设备和浏览器版本中使用。此功能可能无法在旧版设备或浏览器中使用。

当表示HTMLDialogElement对象的<dialog>关闭时,会在该对象上触发close事件。

此事件不可取消,也不会冒泡。

语法

在诸如addEventListener()之类的方 法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("close", (event) => {});

onclose = (event) => {};

事件类型

一个通用的Event

示例

实时示例

HTML

html
<dialog class="example-dialog">
  <form method="dialog">
    <button>Close via method="dialog"</button>
  </form>
  <button class="close">Close via .close() method</button>
  <p>Or hit the <kbd>Esc</kbd> key</p>
</dialog>

<button class="open-dialog">Open dialog</button>

<div class="result"></div>

JavaScript

js
const result = document.querySelector(".result");

const dialog = document.querySelector(".example-dialog");
dialog.addEventListener("close", (event) => {
  result.textContent = "dialog was closed";
});

const openDialog = document.querySelector(".open-dialog");
openDialog.addEventListener("click", () => {
  dialog.showModal();
  result.textContent = "";
});

const closeButton = document.querySelector(".close");
closeButton.addEventListener("click", () => {
  dialog.close();
});

结果

规范

规范
HTML 标准
# event-close

浏览器兼容性

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

另请参阅