3. カフェアプリ-3

JavaScriptのイベント

イベントとは

「マウスをクリックした」「キーボードを入力した」「HTMLの読み込みが完了した」といったように、ブラウザで何か操作や動作が発生したことをイベント(Event) といいます。

イベントリスナーとイベントハンドラ

Event Listener(イベントリスナー)

Event Listener(イベントリスナー)は、イベント(マウスやキーボード操作など)を監視する仕組みです。

Event Handler(イベントハンドラ)

Event Handler(イベントハンドラ)は、イベントが発生したときに実際に実行する処理を指します。

  • イベントリスナー:イベントを監視(Listen)
  • イベントハンドラー:イベントが発生時に呼び出される関数

代表的なイベント

イベント名は、クリックや読み込みなどをプログラムのキーにしたもので、以下はよく利用されるイベント名の一覧です。

イベント名(JS) (HTML) 説明
load onload ページが読み込まれたとき
click onclick クリックされたとき
dblclick ondblclick ダブルクリックされたとき
load onload ページが読み込まれたとき
input onload 値が入力されたとき
submit onsubmit submitボタンが押されたとき
change onchange 内容が変更されたとき
keypress onkeypress キーボードキーが押されたとき
focus onfocus ターゲットが選択された時
mouseup onmouseup ターゲット内でマウスをアップしたとき
mouseover onmouseover マウスカーソルがターゲットの中に入ったとき
mousemove onmousemove マウスカーソルがターゲットの中に移動したとき
drag ondrag ドラッグされたとき
scroll onscroll スクロール位置が変更されたとき

イベントの実行方法

イベントの設定、実行方法は大きく2つに分かれます。

イベントをHTMLプロパティに設定

HTMLタグにイベントを設定するには、イベントプロパティを使用します。特定のタグのイベントを発生させたときにJavaScriptコードを実行します。イベントプロパティは「on」で始まり、イベントの種類(click, mouseover, keydown など)を指定します。

クリックイベントリスナー
<button id="myButton" onclick="clickHandler()">Click</button>
クリックイベントハンドラー
function clickHandler() {
    // クリックされたときに処理
   console.log("Click!!!")
}

addEventListener()

addEventListener() は、Elementに対して複数のイベントリスナーを登録できます。

クリックイベント
document.getElementById('myButton').addEventListener('click', function(event) {
     // クリックされたときに処理
     console.log("Click!!!")
});

ヘッダーメニュー

メニューボタン追加

ヘッダーセクションに、メニューボタンを追加します。

<body class="bg-gray-100">
    <!-- Header Section -->
    <header class="bg-white shadow-lg">
        <div class="container mx-auto py-6 text-center">
            <h1 id="title" class="text-4xl font-bold text-gray-800"></h1>
            <p id="description" class="text-gray-600 mt-2"></p>
        </div>
        <!-- Cart Button -->
        <div class="container mx-auto text-right p-4">
            <button class="bg-yellow-500 text-white px-4 py-2 rounded hover:bg-yellow-600">
                Cart
                <span id="cartCount" class="bg-white text-yellow-500 rounded-full px-2 py-1 ml-2">0</span>
            </button>
            <button class="bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600 ml-4">
                Order History
            </button>
        </div>
    </header>

    ...
</body>

動作確認

実践JavaScript

  • Lesson 01 カフェアプリ 1
  • Lesson 02 カフェアプリ 2
  • Lesson 03 カフェアプリ-3
  • Lesson 06 Video
  • Lesson 08 カルーセル1
  • Lesson 09 カルーセル2
  • Lesson 10 2D RPGアプリ-1
  • Lesson 11 Three.js
  • Lesson 12 Three.js
  • Lesson 13 Web Audio API
  • Lesson 14 音声認識
  • Lesson 16 天気予報
  • Lesson 18 Chart.js
  • Lesson 19 カレンダー
  • Lesson 20 High & Lowゲーム
  • Lesson 29 カレンダー