イベントハンドラー
イベントハンドラーについて
「要素を押した」など、ある動作を起こした時に発生するイベントに対して処理を行うことをイベントハンドラーといいます。
ここでは、イベントの一覧をご紹介します。
イベント一覧
- ※ ここで掲載しているイベントは一部です。
マウスイベント
| イベント名 | 説明 |
|---|---|
| click | クリックした時に発生 |
| dblclick | ダブルクリックした時に発生 |
| contextmenu | 右クリックした時に発生 |
| mouseover | マウスカーソルがのった時に発生 |
| mouseenter | マウスカーソルがのった時に発生 |
| mouseout | マウスカーソルが離れた時に発生 |
| mouseleave | マウスカーソルが離れた時に発生 |
| mousedown | マウスを押した時に発生 |
| mouseup | マウスを離した時に発生 |
| mousemove | マウスを動かしている時に発生 |
| mousewheel | マウスホイールを動かしている時に発生 |
ドラッグ・ドロップイベント
| イベント名 | 説明 |
|---|---|
| dragstart | ドラッグを開始した時に発生 |
| drag | ドラッグ中の時に発生 |
| dragend | ドラッグを終えた時に発生 |
| dragenter | ドラッグした要素がドロップ領域に入った時に発生 |
| dragover | ドラッグした要素がドロップ領域の上にある時に発生 |
| dragleave | ドラッグした要素がドロップ領域から離れた時に発生 |
| drop | ドラッグした要素がドロップ領域にドロップされた時に発生 |
タッチイベント
| イベント名 | 説明 |
|---|---|
| touchstart | タッチした(開始した)時に発生 |
| touchmove | タッチして動かしている時に発生 |
| touchend | タッチを離した(終了した)時に発生 |
| touchcancel | タッチを中断した時に発生 |
| touchenter | タッチ中にタッチイベントに対応した要素内にタッチした指が入った時に発生 |
| touchleave | タッチ中にタッチイベントに対応した要素内にタッチした指が離れた時に発生 |
マウス・タッチ総合イベント
| イベント名 | 説明 |
|---|---|
| pointerdown | ポインタで押された(開始した)時に発生 mousedown、touchstartの統合 |
| pointermove | ポインタを動かしている時に発生 mousemove、touchmoveの統合 |
| pointerup | ポインタを離した(終了した)時に発生 mouseup、touchendの統合 |
| pointerover | ポインタがのった時に発生 mouseoverと同等 |
| pointerout | ポインタが離れた時に発生 mouseoutと同等 |
| pointercancel | ポインタを中断した時に発生 touchcancelと同等 |
| pointerenter | タッチ中にタッチイベントに対応した要素内にタッチした指が入った時に発生 mouseenter、touchenterの統合 |
| pointerleave | タッチ中にタッチイベントに対応した要素内にタッチした指が離れた時に発生 mouseleave、touchleaveの統合 |
キーボードイベント
| イベント名 | 説明 |
|---|---|
| keydown | キーを押した時に発生 |
| keyup | キーを離した時に発生 |
| keypress | キーを押したあるいは離した時に発生 |
フレーム・オブジェクトイベント
| イベント名 | 説明 |
|---|---|
| load | ページが読み込まれた時に発生 |
| domcontentloaded | CSS、画像、フレームの読み込みを除き、ページが読み込まれた時に発生 |
| unload | ページを離脱した時に発生 |
| pageshow | キャッシュが残った状態でページが表示された時に発生 |
| pagehide | キャッシュを残し、ページを離脱した時に発生 |
| beforeunload | ページを離脱しようとしている時に発生 |
| scroll | ページをスクロールした時に発生 |
| resize | ページがリサイズされた時に発生 |
| error | 画像の読み込み中にエラーが発生した時に発生 |
| abort | 画像の読み込みを中断した時に発生 |
フォームイベント
| イベント名 | 説明 |
|---|---|
| focus | フォーカスが当たった時に発生 |
| blur | フォーカスが外れた時に発生 |
| change | フォームの選択や内容が変化した時に発生 ただし、input要素のtype属性がtextの場合など入力欄の場合は、フォーカスが外れた時に発生 |
| submit | フォームを送信しようとした時に発生 |
| reset | フォームがリセットされた時に発生 |
| input | |
| invalid |
クリップボードイベント
| イベント名 | 説明 |
|---|---|
| copy | クリップボードにコピーした時に発生 |
| beforecopy | クリップボードにコピーする前に発生 |
| cut | クリップボードへ切り取られた時に発生 |
| beforecut | クリップボードへ切り取られる前に発生 |
| paste | クリップボードから貼り付けられた時に発生 |
| beforepaste | クリップボードから貼り付けられる前に発生 |
トランジションベント
| イベント名 | 説明 |
|---|---|
| transitionend | CSSのトランジションが終了した時に発生 |
アニメーションイベント
| イベント名 | 説明 |
|---|---|
| animationstart | CSSのアニメーションを開始した時に発生 |
| animationiteration | CSSのアニメーションが繰り返された時に発生 |
| animationend | CSSのアニメーションが終了した時に発生 |
その他イベント
| イベント名 | 説明 |
|---|---|
| select | 要素やテキストが選択された時に発生 |
| selectstart | 要素やテキストの選択を開始した時に発生 |
| orientationchange | デバイスが回転した時に発生 |
| beforeprint | 印刷前に発生 |
| afterprint | 印刷後に発生 |
| readystatechange | XMLHttpRequestの受信状況が変化したときに発生 |
mouseover、mouseenterについて
mouseover、mouseenterはどちらもマウスカーソルがのった時に発生するイベントですが、次の違いがあります。
mouseoverイベントはmouseoverイベントが発火された要素の子要素もイベントの対象となり、処理がその分だけ発生してしまいます。
この現象をイベントバブリングといいますが、このイベントバブリングを無視するのがmouseenterイベントになります。
mouseout、mouseleaveについて
mouseover、mouseenterはどちらもマウスカーソルが離れた時に発生するイベントですが、次の違いがあります。
mouseoutイベントはmouseoutイベントが発火された要素の子要素もイベントの対象となり、処理がその分だけ発生してしまいます。
この現象をイベントバブリングといいますが、このイベントバブリングを無視するのがmouseleaveイベントになります。
onpageshowについて
ブラウザの戻るボタンなどで前のページに戻った際に、最後の状態を保持(復元)することを、Back Forward Cacheと呼びますが、
このBack Forward Cacheを確認(検出)する場合は、引数「event」のpersistedプロパティを参照することで得ることができます。
JavaScript
window.onpageshow = function(event) {
if (event.persisted) {
// ...
}
};