![イベントリスナー](https://mitikusa-engineer.com/wp-content/uploads/2022/05/Javascript-1024x538.png)
Javascriptのイベントリスナーについてまとめました。
イベントリスナーとは
『要素がクリックされた』『キーボードのキーが押下された』といった、
出来事(イベント)を契機に実行される関数のことです。
構文は下記の通りです。
対象要素.addEventListener('イベント名', 関数, オプション);
『対象要素』で『イベント』が発生した時に『関数』を実行します。
Javascriptの要素には下記イベントが用意されています。
イベント名 | 実行タイミング |
---|---|
auxclick | ポインティングデバイス(マウスなど)の第一ボタン(左クリックなど)以外を押し、離した時 |
blur | フォーカスを外した時 |
click | ポインティングデバイスの第一ボタンを押し、離した時 |
compositionend | IMEなどによる全角テキスト入力を確定/キャンセルした時 |
compositionstart | IMEなどによる全角テキスト入力を開始した時 |
compositionupdate | IMEなどによる全角テキスト入力を更新した時 |
contextmenu | コンテキストメニュー(windowsの右クリックメニューなど)を開こうとした時 |
copy | クリップボードにコピーしようとした時 |
cut | クリップボードに切り取ろうとした時 |
dblclick | ポインティングデバイスの第一ボタンをダブルクリックした時 |
error | 何かしらエラーが発生した時(スクリプトの実行エラー、画像の読み込みエラーなど) |
focus | 対象要素をフォーカスした時 |
focusin | 対象要素をフォーカスした時(子要素をフォーカスしても実行する) |
focusout | フォーカスを外した時(子要素のフォーカスが外れても実行する) |
fullscreenchange | 全画面モードに切り替えたり、終了したりした時 |
fullscreenerror | 全画面モードへの切り替えや終了時にエラーになった時 ※発動条件が分からなかったのでサンプルは割愛。。。 |
keydown | キーボードのキーを押下した時 |
keyup | キーボードのキーを離した時 |
mousedown | ポインティングデバイスのいずれかのボタンを押下した時 |
mouseenter | ポインティングデバイスのカーソルを要素に乗せた時 |
mouseleave | ポインティングデバイスのカーソルを要素から離した時 |
mousemove | ポインティングデバイスのカーソルを要素上で動かした時 |
mouseout | ポインティングデバイスのカーソルを要素から離した時(子要素内であれば実行しない) |
mouseover | ポインティングデバイスのカーソルを要素に乗せた時(子要素に乗せた時も実行する) |
mouseup | ポインティングデバイスのいずれかのボタンを離した時 |
paste | クリップボードから貼り付けようとした時 |
scroll | スクロールした時 |
securitypolicyviolation | コンテンツセキュリティポリシー(Content Security Policy、CSP)に違反した時 |
select | input及びtextarea要素の文字列を選択した時(shift+←→やマウスでの選択) |
touchcancel | タッチ操作を中断した時 |
touchend | タッチ操作を完了(指を離したなど)した時 |
touchmove | タッチしたまま移動した時 |
touchstart | タッチ操作を開始(指で触れたなど)した時 |
wheel | ポインティングデバイスのホイールボタンを回転した時 |
『オプション』には下記のいずれかが設定できます。
- options
capture:下記useCaptureと同様
once :trueを指定すると、イベントの実行を1度限りにできる
passive:trueを指定すると、イベント発生元のデフォルト動作を
キャンセル不可(=preventDefault()を実行できない)にする
signal :実験的な項目のようなので割愛 - useCapture:trueを指定すると、親要素の同種イベントを発生させる
※対応しているブラウザはoptionsが指定でき
していないブラウザはuseCaptureで指定する
(optionsの形式で指定するとtrueになってしまうため注意)
他にも上記とは別に『wantsUntrusted
』という引数が指定できますが、
実験的なもののようなので割愛します。詳細は下記をご覧ください。
参考
サンプルを見てみましょう。
サンプル