デジハリオンラインスクール9月30日まで10%OFF

JavaScriptの「addEventListener」イベント一覧をわかりやすく解説

4 min 69 views
javascript_addeventlistener

Webデザインを仕事にしていると、必ずといっていいほど出会うのがJavaScriptのイベント処理


なかでも addEventListener は、ユーザーの操作に応じてWebページを動かすための必須メソッドです。

「クリックしたらメニューが開く」「入力フォームに文字を打つと注意文が表示される」


こうした動きを支えているのが、イベントです。

この記事では、Webデザイナーになりたての方にもわかりやすいように、addEventListenerでよく使われるイベントを表にまとめ、実務で役立つポイントを解説していきます。

addEventListenerとは?

まずは基本から。
addEventListener は、特定のHTML要素に対して「この動作が起きたときに、こういう処理をしてね」と登録するためのメソッドです。

基本構文

要素.addEventListener("イベント名", 実行する処理);

例:ボタンをクリックしたらアラートを出す

const btn = document.querySelector("button");
btn.addEventListener("click", () => {
  alert("ボタンがクリックされました!");
});

ここで重要なのが「イベント名」です。
clickmouseover など、ユーザーの操作に応じていろいろな種類があります。

全体をつかみやすいように、代表的なイベントを表にまとめました。

イベントの種類ごとの解説と実務での使い方

1. マウス関連イベント

Webデザインでは一番多く使うジャンルです。
ボタンやナビゲーションメニューなど、ユーザーが「触れる」瞬間を検知します。

マウスイベント
click要素がクリックされたとき
dblclick要素がダブルクリックされたとき
mousedownマウスボタンが押されたとき
mouseupマウスボタンが離されたとき
mousemoveマウスが動いたとき
mouseoverマウスが要素の上に乗ったとき
mouseoutマウスが要素から離れたとき
mouseenterマウスが要素に入ったとき(子要素は無視)
mouseleaveマウスが要素から離れたとき(子要素は無視)

click

  • 最も基本的なイベント
  • ボタンやリンクに設定して「動き」をつける

mouseover / mouseout

  • ホバー時の見た目変化に使える
  • CSSの:hoverでもできるが、JavaScriptなら複雑な動きが可能

2. キーボード関連イベント

フォームやショートカット操作を考えると必須です。

キーボードイベント
keydownキーが押されたとき
keyupキーが離されたとき
keypressキーが押されたとき(廃止予定、keydownを使用)

keydown / keyup

  • 入力フォームの動的チェックに便利
  • keydown は押した瞬間、keyup は離した瞬間

3. フォーム関連イベント

フォームイベント
submitフォームが送信されたとき
change入力テキストエリアセレクトボックス内容が変更されたとき
input入力フィールド内容が変更されたとき(changeよりも細かく反応)
focus要素がフォーカスを受けたとき
blur要素がフォーカスを失ったとき
resetフォームがリセットされたとき

Web制作では絶対に使うシーンが多いジャンル。

input

  • 入力中にリアルタイムで反応
  • バリデーションや文字数カウントに便利

change

  • 選択肢を変更したときに発火
  • プルダウンやラジオボタンに向いている

submit

  • フォーム送信時に一度だけ動く
  • バリデーションや「本当に送信していいですか?」の確認に必須

4. ページや画面に関するイベント

ウィンドウイベント
loadページが読み込まれたとき
resizeウィンドウのサイズが変更されたとき
scrollページや要素がスクロールされたとき
unloadページがアンロードされたとき
(廃止予定、beforeunloadを使用)
beforeunloadページがアンロードされる前

load

  • ページや画像が完全に読み込まれたタイミング
  • 初期アニメーションやローディング画面の制御に利用

scroll

  • スクロールを検知して、アニメーションや「トップへ戻る」ボタンを表示
  • パフォーマンス対策として throttle(間引き処理) がよく使われる

resize

  • ウィンドウサイズが変わったとき
  • レスポンシブ対応で必要な場面がある

安くてしっかり学べるunazuki。質問システムがないため独学式なのがネックだが細かく教えてくれているので躓きは少ない。スキマ時間学習用の補助コンテンツunazukiポケットと、完全解説スニペット集付き。

その他でよく使われるイベント一覧

ドラッグ&ドロップイベント
drag要素がドラッグされているとき
dragstartドラッグ操作が開始されたとき
dragendドラッグ操作が終了したとき
dragenterドラッグされた要素がドロップターゲットに入ったとき
dragoverドラッグされた要素がドロップターゲットの上にあるとき
dragleaveドラッグされた要素がドロップターゲットから離れたとき
dropドラッグされた要素がドロップされたとき
タッチイベント(モバイルデバイス)
touchstart画面に触れたとき
touchmove画面上で指が動いたとき
touchend画面から指が離れたとき
touchcancelタッチ操作がキャンセルされたとき
クリップボードイベント
copyコンテンツがコピーされたとき
cutコンテンツがカットされたとき
pasteコンテンツが貼り付けられたとき
メディアイベント
play再生が開始されたとき
pause再生が一時停止されたとき
ended再生が終了したとき
volumechange音量が変更されたとき

初心者がつまずきやすいポイント

  1. イベント名のスペルミス
    • “clic” では動かない → “click” が正解
  2. 関数を直接実行してしまう // ❌ 間違い(すぐ実行されてしまう) btn.addEventListener("click", showMessage()); // ✅ 正しい(関数を渡す) btn.addEventListener("click", showMessage);
  3. 似ているイベントの違い
    • inputchange の違いは初心者が混乱しやすいポイント
    • input はリアルタイム、change は確定時

実務でのおすすめ活用シーン

  • ナビゲーションメニューの開閉 → click
  • ホバー時のリッチエフェクト → mouseover / mouseout
  • 検索フォームの候補表示 → keyup + input
  • アンケートやチェックボックス → change
  • スクロールアニメーション → scroll
  • ウィンドウ幅でデザイン調整 → resize

これらを組み合わせることで、より「動きのある」「ユーザーに優しい」Webサイトが作れます

まとめ

  • addEventListener は「要素 + イベント + 処理」を結びつける大切な仕組み
  • イベントにはマウス、キーボード、フォーム、ページ関連などがある
  • 似たイベントの違いを理解すると、使い分けがスムーズになる
  • 実務では「ユーザーが触れる瞬間」を想定して使うと効果的

この記事を読んだあなたが、
「クリックしたらこんな動きを入れたい!」
「フォームでリアルタイムにチェックしたい!」

と自然に思えるようになれば、もうWebデザイナーとして一歩レベルアップです✨

しっかり学びたいならコチラ。お値段以上の学びがある!買い切りです。

こちらもしっかり学べますが、Web制作全般を知りたい人用なので、必要に感じれば安めの値段設定です。

関連記事