HTML - イベントリファレンス:ウェブページをインタラクティブにするための入門ガイド

こんにちは、将来のウェブ開発者さんたち!HTMLイベントの世界に足を踏み入れるこのエキサイティングな旅に、あなた们的ガイドとして嬉しく迎えます。コンピュータサイエンスを10年以上教えてきた者として、イベントの理解はウェブのインタラクティビティの秘密の言語を学ぶことだと言えます。では、一緒にこの魔法の領域を解錠してみましょう!

HTML - Events Reference

HTMLイベントとは?

具体的な内容に進む前に、HTMLイベントとは何かを理解しましょう。パーティ(ウェブページ)にいるとします。あなたが何かを行うたびに、肩を叩く(ボタンをクリックする)や秘密を囁く(テキストを入力する)那样的な行動がイベントです。ウェブの世界では、イベントはブラウザ内で起こるアクションや出来事で、あなたのHTMLが検出し、応答するものです。すごいでしょう?

では、さまざまなイベントの種類とその使い方を探ってみましょう。

ウィンドウイベント属性

ウィンドウイベントは、あなたのウェブページの家のドアベルのようです。誰かが来たり去ったりするのを知らせてくれます。

以下は一般的なウィンドウイベントの表です:

イベント 説明
onload ページが読み込み完了したときに発火
onunload ユーザーがページから移動したときに発火
onresize ブラウザウィンドウがリサイズされたときに発火
onscroll ユーザーがページをスクロールしたときに発火

以下に例を示します:

<body onload="alert('ようこそ私のページへ!')">
<h1>私の素晴らしいウェブサイト</h1>
</body>

この例では、ページが読み込まれると、欢迎のアラートが表示されます。ゲストが入ってくる瞬間に挨拶するようなものです!

フォームイベント

フォームは実際のインタラクションが起こる場所です。ユーザーとの会話のようなものです。

以下はフォームイベントの表です:

イベント 説明
onsubmit フォームが送信されたときに発火
onreset フォームがリセットされたときに発火
onchange インプットの値が変わったときに発火
onfocus 要素がフォーカスを受け取ったときに発火
onblur 要素がフォーカスを失ったときに発火

以下に例を示します:

<form onsubmit="alert('フォームが送信されました!'); return false;">
<input type="text" onchange="this.style.backgroundColor='yellow'">
<input type="submit" value="送信">
</form>

このフォームでは、テキストインプットを変更すると背景色が黄色に変わる(サプライズ!),そして送信するとアラートが表示されます。フォームがあなたに返事をするようなものです!

キーボードイベント

キーボードイベントは、あなたがキーボード上进行う finger dance に関するものです。

以下はキーボードイベントの表です:

イベント 説明
onkeydown キーが押されたときに発火
onkeyup キーが解放されたときに発火
onkeypress キーが押され解放されたときに発火

以下に例を示します:

<input type="text" onkeypress="document.body.style.backgroundColor='lightblue'">

このインプットでキーを押すたびに、ページの背景色がライトブルーに変わります。ピアノを弾いて色を塗るようなものです!

マウスイベント

マウスイベントは、クリックや移動に関するものです。

以下はマウスイベントの表です:

イベント 説明
onclick 要素がクリックされたときに発火
ondblclick 要素がダブルクリックされたときに発火
onmouseover マウスが要素の上に移動したときに発火
onmouseout マウスが要素から離れたときに発火

以下に例を示します:

<button onclick="this.innerHTML='クリックされました!'"
onmouseover="this.style.color='red'"
onmouseout="this.style.color='black'">
クリックしてね!
</button>

このボタンは、マウスが乗ると色が変わり、クリックするとテキストが変わります。カメレオンのボタンのようなものです!

ドラッグイベント

ドラッグイベントは、要素を移動可能にします。チェスボードの駒のようなものです。

以下はドラッグイベントの表です:

イベント 説明
ondrag 要素がドラッグされたときに発火
ondragstart ユーザーが要素をドラッグし始めたときに発火
ondragend ユーザーが要素のドラッグを終えたときに発火

以下に簡単な例を示します:

<div draggable="true" ondragstart="alert('ドラッグが開始されました!')">
私をドラッグしてね!
</div>

このdivをドラッグし始めるとアラートが表示されます。要素が「ワヒー!空を飛んでいる!」と言っているようなものです!

クリップボードイベント

クリップボードイベントは、コピー、カット、ペーストに関するものです。

以下はクリップボードイベントの表です:

イベント 説明
oncopy ユーザーが内容をコピーしたときに発火
oncut ユーザーが内容をカットしたときに発火
onpaste ユーザーが内容をペーストしたときに発火

以下に例を示します:

<textarea oncopy="alert('コピーされました!')" oncut="alert('カットされました!')" onpaste="alert('ペーストされました!')">
ここでコピー、カット、ペーストを試してください!
</textarea>

このテキストエリアは、クリップボード操作を行うたびに通知します。話し好きなメモ帳のようなものです!

メディアイベント

メディアイベントは、ページ上で音声や動画を再生する際のものです。

以下はメディアイベントの表です:

イベント 説明
onplay メディアが再生開始したときに発火
onpause メディアが一時停止されたときに発火
onended メディアが終了したときに発火

以下に簡単な例を示します:

<audio src="song.mp3" controls onplay="alert('音楽を楽しみましょう!')" onended="alert('お楽しみいただけたでしょうか!')"></audio>

このオーディオ要素は、再生開始時に greeting をし、終了時にフィードバックを求めます。あなたの意見を気遣うDJのようなものです!

その他のイベント

カテゴリに詰まらない多くのイベントがあります。以下にいくつか举げます:

イベント 説明
onerror エラーが発生したときに発火
oncontextmenu ユーザーが右クリックしたときに発火
onwheel マウスホイールが回転したときに発火

以下に一つの例を示します:

<img src="image.jpg" onerror="this.src='default.jpg'">

画像が読み込めない場合、自動的にデフォルトの画像に切り替わります。バックダンサーが準備されているようなものです!

そして、ここまでが、皆さんのHTMLイベントの世界への最初の一歩です。イベントをマスターする鍵は練習です。さまざまなイベントを組み合わせ、新しいアイデアを試し、最も重要なのは、楽しむことです!

いつも私の生徒たちに言うように、コードを書くことは料理するようなものです。最初は散らかすかもしれませんが、練習を積むことで、すぐに名作を創作できるようになります。では、これらのイベントを試してみて、あなたのウェブページが生きるのを見てください!

Credits: Image by storyset