
【6日でできるJavaScript入門】イベントハンドラ
ユーザーの操作に応じてJavaScriptを実行するための仕組みがイベントハンドラです。クリックやマウス移動、ページの読み込みなど、特定のタイミングでコードを動かすことで、インタラクティブなWeb体験を実現します。
ここでは、まず「イベントハンドラとは何か」を整理し、代表的な使い方をステップごとに学びます。各節には独立して動かせるサンプルHTMLを用意し、実際の出力結果とタグの詳しい解説を添えています。タイトルや見出しには絵文字を加え、視覚的にポイントを示しています。

1.イベントハンドラとは?
イベントハンドラは、要素やページの状態変化にあわせてJavaScriptを呼び出す仕組みです。以下の表は基本をまとめたものです。。
用語 | 説明 |
---|---|
イベント | ユーザー操作やページ状態の変化(クリック/読み込み完了など) |
ハンドラ | そのイベント発生時に実行されるJavaScriptの関数や命令文 |
イベントハンドラ名 | 属性名としてHTMLタグに記述し、実行タイミングを指定する |
ファイル名: lesson02-1.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>🎯 イベントハンドラ概要サンプル</title>
</head>
<body>
<h1>🔔 イベントハンドラとは?</h1>
<p id="info">ここにイベント発生の情報が表示されます。</p>
<script>
// ページ読み込み時のonload例
window.onload = function() {
document.getElementById('info').textContent = 'ページが読み込まれました。';
};
</script>
</body>
</html>
ブラウザの出力例

タグ解説
window.onload
: ページ全体が読み込まれたタイミングで実行されるイベントハンドラ。<script>
: JavaScriptコードを配置する要素。
2.クリック時にJavaScriptを実行
要素をクリックしたときに動作させたい場合は、onclick
イベントハンドラを使います。
イベントハンドラ名 | 対象 | 説明 |
---|---|---|
onclick | 任意の要素 | クリック時に指定したコードを実行 |
ファイル名: lesson02-2.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>🔘 クリックイベントサンプル</title>
</head>
<body>
<h1>👉 ボタンをクリック</h1>
<button id="btn" onclick="document.getElementById('output').textContent = 'クリックされました!';">
クリックしてね
</button>
<p id="output"></p>
</body>
</html>
ブラウザの出力例

タグ解説
- <button onclick="...">: ボタン要素にクリック時の処理を直接記述。
- document.getElementById('output').textContent: 要素の内容を変更するDOM操作。
3.マウスの移動時にJavaScriptを実行
マウス操作に応じてコードを動かすには、onmouseover
や onmouseout
、onmousemove
を使用します。
イベントハンドラ名 | 説明 |
---|---|
onmouseover | 要素上にマウスを乗せたとき |
onmouseout | 要素からマウスを離したとき |
onmousemove | 要素上でマウスを動かしたとき |
ファイル名: lesson02-3.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>🐭 マウス移動イベントサンプル</title>
</head>
<body>
<h1>🎨 マウスを動かしてみよう</h1>
<div id="box" onmouseover="this.style.backgroundColor='#def'"
onmouseout="this.style.backgroundColor='#f5f5f5'"
onmousemove="document.getElementById('coords').textContent = 'X=' + event.clientX + ', Y=' + event.clientY"
style="width:300px;height:150px;border:1px solid #000;">
<p id="coords">座標を表示</p>
</div>
</body>
</html>
ブラウザの出力例
X=123, Y=45 (マウス位置によって変化)

タグ解説
- <div onmouseover="..." onmouseout="..." onmousemove="...">: 複数のイベントを同一要素に指定。
- event.clientX, event.clientY: マウス位置を取得するイベントオブジェクトのプロパティ。
4.その他のイベントハンドラ
ここまでで挙げた以外にも、多彩なイベントハンドラが用意されています。代表的なものをまとめました。
分類 | イベントハンドラ名 | 説明 |
---|---|---|
ページ操作 | onload | ページ読み込み完了時 |
onunload | ページ離脱時 | |
onerror | エラー発生時 | |
フォーム操作 | onfocus | 要素にフォーカスが移動したとき |
onchange | 入力内容が変更されたとき | |
onsubmit | フォームが送信されたとき | |
キーボード | onkeydown、onkeyup | キーが押された/離されたとき |
タッチ | ontouchstart | タッチ操作開始時(スマホ・タブレット用) |
ワンポイント
直接HTMLに書く方法は手軽ですが、JavaScriptとHTMLの分離にはイベントリスナー(addEventListener
)の利用を検討してください。
まとめ
ここでは、イベントハンドラの基本概念と主要な使い方を学びました。各サンプルを動かし、ユーザー操作に応じた動的な振る舞いを体験したら、次はaddEventListener
によるより拡張性の高い実装方法へ進みましょう。