HTMLDialogElement: cancel イベント

cancel イベントは、ユーザーが現在開いているダイアログを閉じるようブラウザーに指示したときに <dialog> に発生します。ブラウザーはユーザーが Esc キーを押した時にこのイベントを発生させます。

このイベントはバブリングしません。

<dialog>Esc キーで閉じると、cancel イベントと close イベントの両方が発行されます。

構文

このイベント名を addEventListener() などのメソッドで使用したり、イベントハンドラープロパティを設定したりします。

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

oncancel = (event) => {};

イベント型

一般的な Event です。

ライブ例

HTML

<dialog class="example-dialog">
  <button class="close" type="reset">Close</button>
</dialog>

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

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

JavaScript

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

const dialog = document.querySelector(".example-dialog");

dialog.addEventListener("cancel", (event) => {
  result.textContent = "dialog was canceled";
});

const openDialog = document.querySelector(".open-dialog");
openDialog.addEventListener("click", () => {
  if (typeof dialog.showModal === "function") {
    dialog.showModal();
    result.textContent = "";
  } else {
    result.textContent = "The dialog API is not supported by this browser";
  }
});

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

結果

仕様書

Specification
HTML Standard
# event-cancel
HTML Standard
# handler-oncancel

ブラウザーの互換性

BCD tables only load in the browser

関連情報