備忘録的プログラミングリファレンス

cancel ( oncancel )イベント

 cancel ( oncancel )イベントは、簡易にポップアップダイアログやモーダルウィンドウを表示する <dialog> を中断して閉じると発生するイベントです。
 HTMLDialogElement.showModal() で開いたモーダルダイアログのみで、「ESC」キーによって閉じると発生するイベントです。

cancel イベントを追加( oncancel イベントハンドラーとして追加)
document.getElementsByTagName('dialog')[0].addEventListener("cancel", (event)=>{
	console.log( 'event type : ' + event.type );
});
詳しくは Example を参照してください

  <dialog> を閉じることで発生するイベントには以下があります。違いは中断されて閉じる場合は cancel イベント、通常通りに閉じた場合は close イベントが発生します。

oncancel <dialog> を中断して閉じたら
onclose <dialog> を閉じたら

  <dialog> を定義しているのは HTMLDialogElement インターフェイスです。併せて参照してください。

ページ内 Index

構文(Syntax)

 HTMLPreElement にイベントハンドラーを定義する方法には以下があります。

in HTML

<tagelement oncancel ="function(); ...;">

in JavaScript

object.oncancel  = function(){... };

addEventListener()

 イベントタイプを第1引数に指定します。関数を直接に呼び出には、関数名のみを第2引数に指定します。ただし、その関数に event 以外の引数が渡せません。

object.addEventListener("cancel ", function_name);

 スクリプトを直接記述する方法があります。この方法では、関数に引数を指定して呼び出せます。

object.addEventListener("cancel ", ()=>{ ... },false);
// または
object.addEventListener("cancel ",function(){ ... },false);

 イベントについてはEventを参照してください。 イベントの監視についてはEventTargetが担っています。

備考(Remarks)

BubblesNo
CancelableYes
InterfaceEvent
Supported HTML Elements<dialog>

Example

 cancel ( oncancel )イベントの例です。以下の「確認」ボタンをクリックしてください。Example が動きます。

 「Close」ボタンをクリックするとダイアログを閉じるだけのシンプルな例です。
 「ESC」キーを押してみてください。cancel イベントが発生します。続いて close イベントが発生します。
 HTMLDialogElement.showModal() で開いたモーダルダイアログのみに反応します。.show() で開くダイアログでは反応しません。

確認ボタンをクリックしてください。以下のHTML,CSS,Scriptコード例が実行されます。