JavaScript入門 イベント 様々なイベント

最終更新日

キーボード操作に関するイベントを、マウス操作に関するイベント、カット、コピー、ペースなどに関わるイベント、フォーカスに関わるイベント、スクロールや画面タッチに関わるイベント、アニメーションに関わるイベント、画面に関わるイベントについて解説。

キーボード操作に関するイベント

イベントタイプ発火タイミング
input<input>要素のvalue属性の値や<textarea>のコンテンツが変化するたびに発火する
change<input>要素のvalue属性の値や<textarea>のコンテンツ値が確定したタイミングで発火する。<textarea>や<iput type=”text”>などの入力欄に対する変更の検知は、値の変更後、フォーカスが外れるまで行われない。入力中の文字列の変更を検知したい場合には、inputイベント、keydownイベント、compositionupdateイベントを使う
keydown任意のキーが押し込まれた時に発火
keypress(非推奨)代わりにkeydownイベントを使用する
keyup任意のキーを離すタイミングで発火する
compositionstartIMEによる編集セッションが開始したタイミングで発火する
compositionendIMEによる変種セッションが終了したタイミングで発火する。すなわち、漢字などの変換が確定した時、または編集をキャンセルしたタイミングで発火する
compositionupdateIMEによる編集セッション中で文字が追加されたときに発火する
submitフォームが送信されたときに発火する

マウス操作に関わるイベント

イベントタイプ発火タイミング
clickマウスの左クリックが押された時に発火する
dblclickマウスの左クリックを2回連続で押されたとき発火する
contexmenuコンテキストメニューを開くときに発火する。すなわち、マウスの右クリック、またはメニューキーが押されたときに発火する
mousedownマウスでクリックされたときに発火する。左クリック、右クリックどちらでも発火する
mouseupマウスのクリックが離されるときに発火する。左クリック、右クリックどちらでも発火する
mouseenterカーソルが要素内に入るタイミングで発火する。バブリングは発生しない。
mouseoverカーソルが要素、またはその子要素を通過するときに発火する。バブリングが発生する。
mousemoveカーソルが要素内で移動している間に連続的に発火する
mouseleaveカーソルが要素から出た時に発火する。バブリングは発生しない。
mouseoutカーソルが要素から出た時に発火する。バブリングは発生する。

カット、コピー、ペーストなどに関わるイベント

イベントタイプ発火タイミング
copyコピー操作を行ったときに発火する
pasteペースト操作を行ったときに発火する
cutカット操作を行ったときに発火する

フォーカスに関わるイベント

イベントタイプ発火タイミング
focusin要素にフォーカスが当たった時に発火する。バブリングが発生する
focus要素にフォーカスが当たったときに発火する。バブリングが発生しない
focusout要素からフォーカスが外れたときに発火する。バブリングが発生する
blur要素からフォーカスが外れたときに発火する。バブリングが発生しない

スクロールや画面タッチに関わるイベント

イベントタイプ発火タイミング
scrollコピー操作を行ったときに発火する
wheelペースト操作を行ったときに発火する
mousewhell(非推奨)カット操作を行ったときに発火する
touchstartスマホのタッチ入力が開始されたタイミングで発火する
touchmoveスマホのタッチ操作が継続している間は連続的に発火する
touchedスマホのタッチ入力が終了したタイミングで発火する

アニメーションに関わるイベント

イベントタイプ発火タイミング
transitionstartCSSのtransitionプロパティによるアニメーション開始時に発火する。トランジションの遅延(transition-delay)を待ってから発火する
transitionrunCSSのtransitionプロパティによるアニメーション開始時に発火する。トランジションの遅延(transition-delay)を待たずに発火する
transitionendCSSのtransitionプロパティによるアニメーション終了時に発火する
animationstartCSSのanimationプロパティによるアニメーション開始時に発火する。アニメーションの遅延(animation-delay)を待ってから発火する
animationendCSSのanimationプロパティによるアニメーション終了時に発火する。すなわち、animation-iteration-countで指定した回数分アニメーションが実行された後に発火する
animationiterationCSSのanimationプロパティによるアニメーション1回ループしたタイミングで発火する。すなわち、animation-iteration-countに設定された回数だけ発火する

画面(window)に関わるイベント

イベントタイプ発火タイミング
loadCSS(.css)/JS(.js)ファイル、画像などのHTMLから読み込んでいるすべてのリソースが読み込み完了した時点で発火する
DOMContentLoadedDOMツリーの構築が完了した時点で発火する。DOM操作が行える状態になったことを表す最初のイベント。CSS(.css)/JS(.js)ファイル、画像などの読込は完了していない可能性がある。Documentオブジェクトに対するイベントリスナとしても登録可能。
readystatechange

Documentオブジェクトに登録可能なイベントタイプ。画面の読込フェーズが変わったタイミングで発火する。readyStateプロパティによって、現在どのフェーズかを判断できる。
document.readyStateプロパティに値

説明
loading画面ロード中。DOMツリーの構築も完了していない
interactiveDOMツリーの構築が完了している(DOMContentLoadedとな時状態)
completeloadイベントの直前に発火する。HTML及びHTMLで読み込んでいるリソース(CSS/JSファイル、画像など)の読込も完了している
beforeunload現在表示中のページがアンロードされる直前に発火する。
unload現在表示中のページがアンロードされるときに発火する。
resize画面サイズが変更されたときに発火する
onlineブラウザがネットワーク接続を検知したタイミングで発火する
offlineブラウザがネットワーク接続の切断を検知したタイミングで発火する