プレゼンテーションシナリオ: スライド116、117
スライド116と117では、DOM Events(DOMイベント)について説明します。
DOM Eventsとは?
JavaScriptでは、event(イベント)はWebページ上で発生するアクション(例:ユーザーがマウスをクリック、キーボードを押す、ページの読み込みが完了するなど)です。DOMを使用すると、これらのイベントをキャッチして処理し、ユーザーとのインタラクションを作成できます。
HTML要素は、JavaScriptコードを含むイベント属性(event attributes)を受け取ることができます。例:
<button onclick="...">...</button>
または:
<button onclick="document.getElementById('demo').innerHTML = Date()">The time is?</button>
一般的なイベント:
- onchange: 要素の内容が変更されたとき。
- onclick: ユーザーが要素をクリックしたとき。
- onmouseover: マウスが要素の上に移動したとき。
- onmouseout: マウスが要素から離れたとき。
- onkeydown: ユーザーが任意のキーを押したとき。
- onload: ブラウザがページの読み込みを完了したとき。
イベントを扱う方法はいくつかあります:
- HTML属性に直接JavaScriptコードを埋め込む。
- イベントが発生したときに関数を呼び出す。
- JavaScriptからハンドラを割り当てる。
- イベントの送信または処理を防ぐ。
addEventListener() - プロフェッショナルな方法
addEventListener()の概要
- 要素、document、またはwindowにイベントを割り当てるために使用します。
- 複数のハンドラを同時に許可し、上書きされません。
- バブリング(デフォルト)とキャプチャリングをサポートします。
- JSをHTMLから分離し、コードが明確で管理しやすくなります。
基本構文:
element.addEventListener(event, function, useCapture);
ここでは:
- event: イベントの種類(例:"click"、"mousedown"、"mousemove"、"resize"など)
- function: イベント処理関数(無名関数または名前付き関数)。
- useCapture(オプション): false(デフォルト、バブリングで処理); true(キャプチャリングモード)
例:
シンプルなclickイベントを割り当て:
document.getElementById("myBtn").addEventListener("click", displayDate);
同じ要素に複数のイベントを上書きせずに割り当て:
element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);
以上で、DOM EventsとJavaScriptでイベントを処理するためのaddEventListener()の使用方法についての説明を終わります。