--- title: 'HTMLDialogElement: cancel イベント' slug: Web/API/HTMLDialogElement/cancel_event tags: - API - Event - HTML DOM - HTMLDialogElement - NeedsExample - cancel - events - イベント translation_of: Web/API/HTMLDialogElement/cancel_event ---
{{APIRef}}

cancel イベントは、ユーザーが現在開いているダウアログを閉じたいと操作したときに {{HTMLElement("dialog")}} に発生します。例えば、ユーザーがブラウザーの UI の中で Esc キーを押したり、「ダイアログを閉じる」ボタンをクリックしたりしたりしたときにブラウザーがこのイベントを発生させることがあります。

バブリング なし
キャンセル
インターフェイス {{domxref("Event")}}
イベントハンドラープロパティ {{domxref("GlobalEventHandlers/oncancel", "oncancel")}}

ライブ例

HTML

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

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

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

JS

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();
});

結果

{{ EmbedLiveSample('Live_example', '100%', '100px') }}

仕様書

仕様書 状態
{{ SpecName('HTML WHATWG', 'indices.html#event-cancel', 'cancel') }} {{Spec2('HTML WHATWG')}}

ブラウザーの互換性

{{Compat("api.HTMLDialogElement.cancel_event")}}

関連情報