前編では、イベントの概念と、addEventListener
を使ったイベントの捉え方を学びました。後編では、具体的なイベント処理の例を見ていきましょう。
3. ボタンをクリックしたら処理を実行
まずは、ボタンがクリックされたときに、何か処理を実行してみましょう。ここでは、ボタンがクリックされたら、コンソールにメッセージを表示し、ボタンのテキストを変更する処理を実装します。
HTMLの準備
まず、ボタンをHTMLに配置します。index.html
の<h1>
タグの下に、以下のコードを追加しましょう。
html
<button id="myButton">クリックしてね</button>
<button>
タグでボタンを作成し、id="myButton"
でmyButton
というIDを付けています。
JavaScriptでイベントを処理する
次に、script.js
に、ボタンがクリックされたときの処理を書いていきます。
javascript
const myButton = document.getElementById("myButton");
function handleClick() {
console.log("ボタンがクリックされました!");
myButton.textContent = "クリックされました!";
}
myButton.addEventListener("click", handleClick);
このコードでは、
document.getElementById("myButton")
で、myButton
というIDを持つボタン要素を取得し、myButton
という変数に格納しています。handleClick
という関数を定義しています。この関数は、コンソールに「ボタンがクリックされました!」と表示し、myButton.textContent
を使ってボタンのテキストを「クリックされました!」に変更します。myButton.addEventListener("click", handleClick)
で、myButton
要素にclick
イベントのイベントリスナーを登録しています。これで、ボタンがクリックされると、handleClick
関数が実行されるようになります。
動作確認
index.html
をブラウザで開き、ボタンをクリックしてみましょう。コンソールに「ボタンがクリックされました!」と表示され、ボタンのテキストが「クリックされました!」に変われば成功です!
4. マウスオーバーで処理を実行
次に、マウスカーソルが要素の上に乗ったとき(マウスオーバー)と、上から離れたとき(マウスアウト)に、処理を実行してみましょう。ここでは、マウスオーバーで要素の背景色を変え、マウスアウトで元の色に戻す処理を実装します。
HTMLの準備
まず、対象となる要素をHTMLに配置します。index.html
の<button>
タグの下に、以下のコードを追加しましょう。
html
<div id="myDiv">ここにマウスを乗せてね</div>
<div>
タグで要素を作成し、id="myDiv"
でmyDiv
というIDを付けています。
CSSでスタイルを設定
このままでは、<div>
要素が見えないので、CSSを使ってスタイルを設定しましょう。style.css
を作成し、以下の内容を書き込みます。
css
#myDiv {
width: 200px;
height: 100px;
background-color: lightblue;
text-align: center;
line-height: 100px;
}
index.html
の<head>
タグ内に、以下のコードを追加して、style.css
を読み込みます。
html
<link rel="stylesheet" href="style.css">
これで、myDiv
要素に、幅200px、高さ100px、背景色lightblue
、テキストを中央揃えで上下方向も中央に配置するスタイルが適用されます。
JavaScriptでイベントを処理する
次に、script.js
に、マウスオーバーとマウスアウトの処理を書いていきます。
javascript
const myDiv = document.getElementById("myDiv");
function handleMouseOver() {
myDiv.style.backgroundColor = "lightgreen";
}
function handleMouseOut() {
myDiv.style.backgroundColor = "lightblue";
}
myDiv.addEventListener("mouseover", handleMouseOver);
myDiv.addEventListener("mouseout", handleMouseOut);
このコードでは、
document.getElementById("myDiv")
で、myDiv
というIDを持つ要素を取得し、myDiv
という変数に格納しています。handleMouseOver
という関数を定義しています。この関数は、myDiv.style.backgroundColor
を使って、myDiv
要素の背景色をlightgreen
に変更します。handleMouseOut
という関数を定義しています。この関数は、myDiv.style.backgroundColor
を使って、myDiv
要素の背景色をlightblue
に戻します。myDiv.addEventListener("mouseover", handleMouseOver)
で、myDiv
要素にmouseover
イベントのイベントリスナーを登録しています。これで、マウスカーソルがmyDiv
要素の上に乗ると、handleMouseOver
関数が実行されます。myDiv.addEventListener("mouseout", handleMouseOut)
で、myDiv
要素にmouseout
イベントのイベントリスナーを登録しています。これで、マウスカーソルがmyDiv
要素の上から離れると、handleMouseOut
関数が実行されます。
動作確認
index.html
をブラウザで開き、myDiv
要素にマウスカーソルを乗せたり離したりしてみましょう。マウスカーソルが乗ると背景色がlightgreen
に変わり、離れると元のlightblue
に戻れば成功です!