HTML5標準イベントとは?イベント属性の種類と使い方を徹底解説
HTML5標準イベントとは
ユーザーがウェブサイトを訪れると、テキストや画像をクリックしたり、リンクを選択したり、要素の上にマウスカーソルを重ねたりと、さまざまな操作を行います。こうしたユーザーの動きこそが、JavaScriptにおける「イベント」の典型例です。
イベントへの反応として実行される処理(イベントハンドラー)は、JavaScriptやVBScriptで記述できます。さらに、HTML5ではイベントハンドラーをタグの属性値として直接指定することも可能で、仕様には数多くのイベント属性が定義されています。
イベントハンドラーの基本的な書き方
たとえば、ボタンがクリックされたタイミングで処理を実行したい場合は、次のようにonclick属性へJavaScriptのコードを記述します。
<button onclick="showMessage()">クリックしてください</button>
このように、HTML側にイベント属性を埋め込むだけで、ユーザーの操作に応じた動的な挙動を手軽に実装できます。
HTML5で定義される主なイベント属性一覧
HTML5の仕様には非常に多くのイベント属性が含まれています。ここでは、理解しやすいようにカテゴリ別に分類して紹介します。すべてのイベント属性の値には、実行したいスクリプト(script)を指定します。
ウィンドウ・ドキュメント関連のイベント
| 属性 | 説明 |
|---|---|
| onload | ドキュメントが読み込まれたときに発生 |
| onbeforeonload | ドキュメントが読み込まれる前に発生 |
| onunload | ユーザーがページを離脱するときに発生 |
| onblur | ウィンドウがフォーカスを失ったときに発生 |
| onfocus | ウィンドウがフォーカスを取得したときに発生 |
| onresize | ウィンドウのサイズが変更されたときに発生 |
| onscroll | 要素のスクロールバーがスクロールされたときに発生 |
| onerror | エラーが発生したときに発生 |
| onabort | 処理が中断されたときに発生 |
| onmessage | メッセージイベントがトリガーされたときに発生 |
| onoffline / ononline | ドキュメントがオフライン/オンラインになったときに発生 |
| onafterprint / onbeforeprint | ドキュメントの印刷後/印刷前に発生 |
| onpagehide / onpageshow | ウィンドウが非表示になったとき/表示されたときに発生 |
| onhaschange | ドキュメントの内容が変化したときに発生 |
| onpopstate | ブラウザの履歴(ヒストリー)が変化したときに発生 |
| onundo / onredo | 「元に戻す」/「やり直し」が実行されたときに発生 |
| onstorage | Webストレージの内容が更新されたときに発生 |
マウス操作関連のイベント
| 属性 | 説明 |
|---|---|
| onclick | 要素がマウスでクリックされたときに発生 |
| ondblclick | 要素がダブルクリックされたときに発生 |
| onmousedown / onmouseup | マウスボタンが押されたとき/離されたときに発生 |
| onmousemove | マウスポインタが移動したときに発生 |
| onmouseover / onmouseout | ポインタが要素に乗ったとき/要素から外れたときに発生 |
| onmousewheel | マウスホイールが回転されたときに発生 |
| oncontextmenu | コンテキストメニュー(右クリックメニュー)が呼び出されたときに発生 |
キーボード操作関連のイベント
| 属性 | 説明 |
|---|---|
| onkeydown | キーが押されたときに発生 |
| onkeypress | キーが押されて離されたときに発生 |
| onkeyup | キーが離されたときに発生 |
フォーム関連のイベント
| 属性 | 説明 |
|---|---|
| onchange | 要素の値が変更されたときに発生 |
| oninput | 要素がユーザー入力を受け取ったときに発生 |
| onformchange / onforminput | フォームが変更されたとき/ユーザー入力を受け取ったときに発生 |
| onsubmit | フォームが送信されたときに発生 |
| oninvalid | 要素の入力値が無効な場合に発生 |
| onselect | 要素内のテキストが選択されたときに発生 |
ドラッグ&ドロップ関連のイベント
| 属性 | 説明 |
|---|---|
| ondragstart | ドラッグ操作の開始時に発生 |
| ondrag | 要素がドラッグされている間に発生 |
| ondragend | ドラッグ操作の終了時に発生 |
| ondragenter / ondragleave | 要素が有効なドロップ先に入ったとき/離れたときに発生 |
| ondragover | 要素が有効なドロップ先の上をドラッグされているときに発生 |
| ondrop | ドラッグ中の要素がドロップされたときに発生 |
メディア(音声・動画)関連のイベント
| 属性 | 説明 |
|---|---|
| onplay / onplaying | メディアの再生が開始されるとき/開始されたときに発生 |
| onpause | メディアが一時停止されたときに発生 |
| onended | メディアが最後まで再生されたときに発生 |
| oncanplay | 再生を開始できる状態になったときに発生(バッファリングで停止する可能性あり) |
| oncanplaythrough | バッファリングなしで最後まで再生できる状態になったときに発生 |
| onloadstart | ブラウザがメディアデータの読み込みを開始したときに発生 |
| onloadeddata | メディアデータが読み込まれたときに発生 |
| onloadedmetadata | 再生時間などのメタデータが読み込まれたときに発生 |
| onprogress | ブラウザがメディアデータをダウンロード中のときに発生 |
| onsuspend | ファイル全体の取得前にデータ取得が停止したときに発生 |
| onstalled | メディアデータの取得中にエラーが発生したときに発生 |
| onwaiting | 再生が一時的に中断され、再開を待っている状態のときに発生 |
| onseeking / onseeked | シーク(再生位置の移動)が開始されたとき/終了したときに発生 |
| ontimeupdate | メディアの再生位置が変化したときに発生 |
| onvolumechange | 音量が変更されたときに発生(ミュート設定時も含む) |
| ondurationchange | メディアの長さが変更されたときに発生 |
| onemptied | メディアリソースが突然空になったときに発生 |
| onreadystatechange | 準備状態(ready-state)が変化したときに発生 |
まとめ
HTML5のイベント属性を使いこなせば、クリックや入力、ドラッグ&ドロップ、動画再生など、ユーザーのあらゆる操作に応答するインタラクティブなウェブページを構築できます。まずはonclickやonloadなど使用頻度の高いイベントから試してみて、徐々に対応範囲を広げていくのがおすすめです。
-
HTMLのrowspanとcolspanとは?テーブルのセル結合方法を解説
rowspanとcolspanとは HTMLで表(テーブル)を作成する際に使われるrowspanとcolspanは、<td>タグの属性です。これらを使うことで、1つのセルが複数の行や列にまたがって表示されるようになります。 rowspan:セルを縦方向(行)にまたがらせる属性 colspan:セルを横方向(列)にまたがらせる属性 なお、これらの属性は見出しセル用の<th>タグでも同様に使用できます。 属性値の指定方法 両属性とも数値を指定します。たとえばcolspan="3"と記述すれば、そのセルは3列分の幅を持ちます。同様にrowspan=&
-
HTMLのscript要素におけるcharset属性の使い方を解説
script要素のcharset属性とは <script>要素のcharset属性は、外部スクリプトファイルで使用する文字エンコーディング(文字セット)を指定するための属性です。外部ファイル内に日本語などのマルチバイト文字が含まれる場合に、文字化けを防いで正しく表示するために利用されてきました。 なお、charset属性はHTML5では廃止された属性であり、現在ではサーバー側のHTTPヘッダーや<meta>タグによって文字コードを指定するのが一般的です。歴史的な仕様やレガシーコードの理解として押さえておきましょう。 構文 <script charset="