Eventインターフェイス
EventインターフェイスはWebページで発生するエラーやマウスアクション、値の入力などのイベントを捉える機能とそのイベントに関するプロパティとメソッドを提供するインターフェイスです。
各エレメントで発生するイベントは、EventTargetによって捉えられEventインターフェイスに渡されます。
*イベントが発生 - - -> エレメントのEventTarget - - -> Event
イベントを捉える機能とは、onclickイベントやonforcusイベントと呼ばれるHTMLページで発生する入力出力や割り込みを捉える機能です。 この機能をEventインターフェイスのEventタイプといいます。
Eventインターフェイスはイベント機能を有するEventタイプを持ち、さらに必要なPropertyとMethodを持ちます。
詳しくは、以下の「Properties」、「Method」、「Eventタイプ」を参照して下さい。
インターフェイス(Interface)とは、オブジェクトやClassから呼び出される関数(method、function、ふるまい)の共有機能です。Eventインターフェイスは、PropertyとMethod、Eventタイプをもちオブジェクトの形式をもっていますが、共有できる機能を提供するためにDOMではインターフェイスと呼びます。
DOMではMouseEventやFocusEventなどといった機能ごとのEventインターフェイスが設けられています。機能ごとのEventインターフェイスにはそれぞれのEventタイプが設定されています。
全ての機能ごとのEventインターフェイスはEventインターフェイスを継承しています。そのために各機能ごとのEventインターフェイスは、EventオブジェクトのProperty、Method、そしてEventタイプが使えます。
詳しくは、以下の「Eventインターフェイス派生のインターフェイス」を参照して下さい。
Eventの構文
実際のイベントを捉える方法は、HTMLでエレメント属性として記述する方法と、JavaScriptでエレメントオブジェクトにEventタイプを指定する、addEventListener()関数を利用する方法があります。
<tagelement oninput="oneFunction()">
object.oninput = function(){ };
object.addEventListener("input", function);
addEventListener()関数のfunction部分は引数を記述しない。関数側はfunction(event)とすると、eventオブジェクトを受け取ることができます。
以下にProperty、Method、Eventタイプを示します。
Properties
Example Syntax
var bubbles_value = event.bubbles;
Property | |
---|---|
bubbles | エレメントがイベントをバブリングするかどうかを示す |
cancelBubble | |
cancelable | イベントをキャンセル可能か |
composed | |
currentTarget | 現在対象となっているエレメント |
defaultPrevented | preventDefault()メソッドが呼び出されたか |
eventPhase | イベントの段階(フェーズ) |
returnValue | |
target | |
timeStamp | |
type | |
isTrusted | ユーザーによって発生したイベントか否か |
Methods
Method | |
---|---|
create() | |
composedPath() | |
preventDefault() | 処理を中止しイベントをキャンセル |
stopImmediatePropagation() | |
stopPropagation() |
Event Types
Eventタイプはエレメントに設定してwebページで起こるイベントを捉えます。
Example Syntax
object.onabort = function(){script_or_function};
Event type | イベント発生の条件 |
---|---|
abort | <audio>または<video>メディアデータのダウンロードが中止されたら |
afterprint 未対応ブラウザあり | 印刷時ダイアログが閉じ、印刷開始前 |
beforeprint 未対応ブラウザあり | 印刷ダイアログが表示される前 |
beforeunload | 現在のドキュメント(webページ)を閉じるや他のページに移動する |
canplay | <audio>または<video>メディアが開始するのに十分なバッファリングができたら |
canplaythrough | <audio>または<video>メディアのバッファリングで停止することなく再生できると推定できたら |
change | タグエレメントの値が変化したら |
error | 外部ファイルのロード中にエラーが起きると |
fullscreenchange | フルスクリーンモードの表示または終了 |
fullscreenerror | フルスクリーンモードで表示エラー |
input | 入力があったら |
invalid | |
load | ロードが起きたら |
loadeddata | フレームの再生において十分なデータがロードされなかったら |
loadedmetadata | メタデータがロードされたら |
message | |
offline | |
online | |
open | |
pause | <audio>,<video>メディアを一時停止したら |
play | メディアが再生されたら |
playing | バッファリングのために一時停止または停止した後に再生を再開すると |
progress | メディアデータのダウンロードの間に |
ratechange | 再生速度が変更されたら |
resize | ブラウザのWindowのサイズを変更したら |
reset | <form>エレメントがリセットされたら |
scroll | スクロールバーを操作したら |
search | |
seeked | 再生位置を変更するまたはスキップすると |
seeking | 再生位置を変更するまたはスキップすると |
select | エレメント内の幾つかのテキストが選択されたら |
show | |
stalled | メディアデータを取得してもそのデータが利用できないとき |
submit | 送信を行ったら |
suspend | メディアデータが意図的に取得できないとき |
timeupdate | メディアの再生が中段されたら |
toggle | <detail>エレメントを開くまたは閉じると |
unload | webページを遷移する行為、formを送信する、または閉じると |
waiting | メディアで次のフレームのためのバッファーによって中断する |
Eventインターフェイス派生のインターフェイス
Eventインターフェイスを元にした機能ごとのEventインターフェイスです。子Eventインターフェイスと呼びたいところですが、「Eventインターフェイスを元にしたEventインターフェイス」と呼んでいるようです。
Interface | 対象イベント |
---|---|
AnimationEvent | CSSによるアニメーションの動作 |
ClipboardEvent | クリップボードの変更 |
DragEvent | ドラッグ、ドロップによって |
FocusEvent | エレメントにフォーカスが当たる、失う |
GamepadEvent | |
HashChangeEvent | URLの#(ハッシュ)以降に変化があると |
InputEvent | エレメントの値(コンテンツ)が変化する |
KeyboardEvent | キーボード操作 |
MouseEvent | マウス操作 |
PageTransitionEvent | webページに訪れた、離れたとき |
PopStateEvent | ウィンドウの履歴に変化があったときに |
ProgressEvent | 外部リソースをロードするとき |
StorageEvent | window storageに変化があると |
TouchEvent | タッチデバイス操作 |
UiEvent | ユーザーインターフェイスに関するEventインターフェイスです。FocusEvent、InputEvent、KeyboardEvent、MouseEvent、TouchEvent、WheelEventの元のEventインターフェイスです。 |
WheelEvent |
関連(Related)
HTML、CSS、DOMの基本用途一覧です。基本としていますが、公の基準ではありません。
HTML
- コメントアウト
- <!-- 、 -->
- ページパラメータ
- <!DOCTYPE>、 <body>、 <head>、 <html>、 <link>、 <meta>、 <noscript>、 <script>、 <style>、 <title>
CSS
- コメントアウト
- /* , */
- @ルール(at-rule)
- @import、 @media
- 一括指定
- all
- 最優先
- !important
- 擬似クラス、疑似エレメント
- 擬似クラス、疑似エレメント
DOM
- コメントアウト
- /* , */ もしくは 行頭に // (JavaScriptのコメントアウトです)
Event、Node
- インターフェイス
- EventTarget、 Event、 Node、 NodeList
- イベント
- error、 fullscreenchange、 fullscreenerror
- プロパティ
- bubbles、 cancelable、 currentTarget、 defaultPrevented、 detail、 eventPhase、 isTrusted、 target、 timeStamp、 type、 view
- メソッド
- preventDefault()、 stopImmediatePropagation()、 stopPropagation()
クッキー、Web Storage
- インターフェイス
- StorageEvent
- イベント
- プロパティ
- メソッド