Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ JavaScriptにおけるイベントオブジェクトの理解 | JavaScriptにおけるイベント処理とユーザーインタラクション
JavaScriptロジックとインタラクション

bookJavaScriptにおけるイベントオブジェクトの理解

メニューを表示するにはスワイプしてください

JavaScriptでイベントが発生すると、eventオブジェクトが自動的にイベントハンドラーに渡されます。このオブジェクトには、イベントを発生させた要素(target)、イベントの種類(type)、preventDefault()stopPropagation()などイベントの挙動を制御するためのメソッドなど、イベントに関する重要な情報が含まれています。

イベント関連情報へのアクセス

eventオブジェクトには、イベントに関する情報へアクセスしたり、イベントと対話したりするための便利なプロパティやメソッドが複数含まれています。

target

targetプロパティは、イベントを発生させた要素を指します。どの要素がクリック、ホバー、または操作されたかを特定するのに役立ちます。

index.html

index.html

index.css

index.css

index.js

index.js

copy

event.target はクリックされた特定のボタンを識別するために使用され、その iddisplay というIDを持つ段落に表示される。

type

type プロパティは発生したイベントの種類(例:clicksubmitkeydown)を提供する。

index.html

index.html

index.css

index.css

index.js

index.js

copy

event.type はフィードバックとして段落に表示され、click イベントが発生したことを示します。また、ボタンがクリックされると、body 全体の背景色が lightblue に変更されます。

イベントオブジェクトの preventDefault() メソッド

preventDefault() メソッドは、リンクの遷移を止めたり、フォームの送信を防いだりするなど、要素のデフォルト動作を停止します。

index.html

index.html

index.css

index.css

index.js

index.js

copy

ここでは、preventDefault() によってリンクをクリックした際のデフォルト動作(新しいページへの遷移)が防止されます。代わりに、アラートが表示されます。

実践例:フォーム送信の処理とイベントオブジェクトの活用

フォームの検証を行い、入力欄が空の場合は送信を防止し、フォームデータとともに targettype などのイベント関連情報や、preventDefault() によるデフォルト送信の防止方法を表示します。

index.html

index.html

index.css

index.css

index.js

index.js

copy

「サインアップ」フォームが送信されると、イベントリスナーが event.preventDefault() で送信を中断します。ユーザー名またはパスワードのいずれかが未入力の場合はエラーメッセージが表示され、両方が入力されていれば送信されたユーザー名を含む成功メッセージが表示されます。さらに、イベントの種類、フォームID、デフォルト動作が防止されたかどうかなど、イベントに関する詳細が専用セクションに表示されます。その後、フォームは再利用のためにリセットされます。

1. event.target プロパティはどのような情報を提供しますか?

2. フォーム送信イベントで event.preventDefault() を使用する理由は何ですか?

question mark

event.target プロパティはどのような情報を提供しますか?

正しい答えを選んでください

question mark

フォーム送信イベントで event.preventDefault() を使用する理由は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  2
some-alt