ゼロプロ~Season2【フロントエンド開発編:2-4-1】JavaScriptの応用(イベントハンドリング、DOM操作)

program

JavaScriptの基本を学んだ後は、イベントハンドリングDOM操作の応用を理解することで、よりインタラクティブなWebページを作成できるようになります。本記事では、これらの技術を具体例を用いてわかりやすく解説します。


イベントハンドリングとは?

イベントの概要

Webページ上で発生するユーザーの操作やシステムの動作を「イベント」と呼びます。

主なイベント例

  • クリック(click
  • キー入力(keydownkeyup
  • マウス移動(mousemove
  • フォーム送信(submit

イベントハンドラー

イベントが発生した際に実行される関数のことを「イベントハンドラー」と呼びます。


DOM操作とは?

DOM(Document Object Model)の概要

DOMは、HTML文書をプログラムで操作できるようにしたモデルです。

主な操作例

  • 要素の取得
  • 要素の追加や削除
  • 要素の属性や内容の変更

イベントハンドリングの応用

1. クリックイベントの処理

コード例

以下の例では、ボタンをクリックするとメッセージが表示されます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>クリックイベントの例</title>
</head>
<body>
    <button id="myButton">クリックしてメッセージを表示</button>
    <p id="message"></p>

    <script>
        const button = document.getElementById('myButton');
        const message = document.getElementById('message');

        button.addEventListener('click', function() {
            message.textContent = 'ボタンがクリックされました!';
        });
    </script>
</body>
</html>

実行結果

  • ボタンをクリックすると、<p>要素に「ボタンがクリックされました!」というメッセージが表示されます。

2. マウスオーバーイベント

コード例

以下の例では、画像にマウスを乗せると説明が表示されます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>マウスオーバーイベントの例</title>
</head>
<body>
    <img id="myImage" src="example.jpg" alt="Example Image" style="width:200px;">
    <p id="description"></p>

    <script>
        const image = document.getElementById('myImage');
        const description = document.getElementById('description');

        image.addEventListener('mouseover', function() {
            description.textContent = 'これはサンプル画像です。';
        });

        image.addEventListener('mouseout', function() {
            description.textContent = '';
        });
    </script>
</body>
</html>

実行結果

  • 画像にマウスを乗せると説明が表示され、マウスを離すと説明が消えます。

DOM操作の応用

1. 要素の追加と削除

コード例

以下の例では、ボタンをクリックするとリストアイテムを追加または削除します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>要素の追加と削除</title>
</head>
<body>
    <ul id="myList">
        <li>アイテム1</li>
        <li>アイテム2</li>
    </ul>
    <button id="addButton">アイテムを追加</button>
    <button id="removeButton">アイテムを削除</button>

    <script>
        const list = document.getElementById('myList');
        const addButton = document.getElementById('addButton');
        const removeButton = document.getElementById('removeButton');

        addButton.addEventListener('click', function() {
            const newItem = document.createElement('li');
            newItem.textContent = `アイテム${list.children.length + 1}`;
            list.appendChild(newItem);
        });

        removeButton.addEventListener('click', function() {
            if (list.children.length > 0) {
                list.removeChild(list.lastElementChild);
            }
        });
    </script>
</body>
</html>

実行結果

  • 「アイテムを追加」ボタンをクリックするとリストに新しいアイテムが追加されます。
  • 「アイテムを削除」ボタンをクリックすると最後のアイテムが削除されます。

2. クラス操作

コード例

以下の例では、ボタンをクリックするとテキストの色が変わります。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>クラス操作の例</title>
    <style>
        .highlight {
            color: red;
        }
    </style>
</head>
<body>
    <p id="myText">このテキストの色を変えます。</p>
    <button id="toggleButton">色を変更</button>

    <script>
        const text = document.getElementById('myText');
        const toggleButton = document.getElementById('toggleButton');

        toggleButton.addEventListener('click', function() {
            text.classList.toggle('highlight');
        });
    </script>
</body>
</html>

実行結果

  • ボタンをクリックすると、テキストの色が赤に変わり、もう一度クリックすると元に戻ります。

学習のポイント

  1. イベントの種類を把握する:
    • よく使うイベント(クリック、フォーム送信、マウスオーバーなど)を中心に学ぶ。
  2. DOM操作を繰り返し練習:
    • 要素の取得、追加、削除、属性の変更など基本的な操作を試す。
  3. ブラウザのデベロッパーツールを活用:
    • コンソールを使ってエラーを確認しながら開発を進める。

まとめ

JavaScriptのイベントハンドリングとDOM操作は、動的でインタラクティブなWebページを作るための重要なスキルです。これらの技術を使いこなすことで、ユーザー体験を大幅に向上させることができます。

次回は「シンプルなフレームワークの導入(例:Reactの基本)」について解説します。お楽しみに!

コメント

タイトルとURLをコピーしました
//投稿内コードにコピー表示 //コピー表示ここまで