#GlobalEventHandlers インターフェース

イベントのコールバック関数を指定する場合は、要素の addEventListener メソッドを使用することをお勧めします。

div.addEventListener('click', clickHandler, false);

また、イベントのコールバック関数を直接指定する方法もあります。

div.onclick = clickHandler;

このインターフェイスは、「GlobalEventHandlers」インターフェイスによって提供されます。利点は、より使いやすいことですが、欠点は、イベントごとに 1 つのコールバック関数しか指定できないことと、イベントがトリガーされるステージ (キャプチャ ステージまたはバブリング ステージ) を指定できないことです。

HTMLElementDocument、および Window はすべてこのインターフェイスを継承します。つまり、さまざまな HTML 要素、document オブジェクト、および window オブジェクトは、GlobalEventHandlers インターフェイスによって提供されるプロパティを使用できます。このインターフェイスによって提供される主なイベント属性を以下に示します。

GlobalEventHandlers.onabort

オブジェクトの abort イベント (読み込みの停止) が発生すると、onabort 属性で指定されたコールバック関数が呼び出されます。

現在、さまざまな要素の読み込み停止イベントをトリガーする方法に関する統一された規制はありません。したがって、実際には、この属性は通常、<img> 要素でのみ使用されます。

// HTMLコードは以下の通り
// <img src="example.jpg" id="img">
var img = document.getElementById('img');
img.onabort = 関数 () {
  console.log('イメージのロードが中止されました。');
}

GlobalEventHandlers.onerror

error イベントが発生すると、onerror 属性で指定されたコールバック関数が呼び出されます。

「エラー」イベントには 2 つのタイプがあります。

1 つは JavaScript ランタイム エラーで、これが window オブジェクトに渡され、window.onerror() が発生します。

window.onerror = 関数 (メッセージ、ソース、行番号、列番号、エラー) {
  // ...
}

window.onerror の処理関数は合計 5 つのパラメータを受け取ります。その意味は次のとおりです。

  • メッセージ: エラーメッセージ文字列
  • ソース: エラー報告スクリプトの URL
  • lineno: エラーレポートの行番号。整数です。
  • Colno: エラーレポートの列番号 (整数)
  • エラー: エラーオブジェクト

もう 1 つはリソースの読み込みエラーです。たとえば、<img><script> によって読み込まれたリソースの読み込みエラーです。この時点で、Error オブジェクトが対応する要素に渡され、要素の onerror 属性が実行を開始します。

element.onerror = 関数 (イベント) {
  // ...
}

一般に、リソース読み込みエラーは「window.onerror」をトリガーしないことに注意してください。

GlobalEventHandlers.onload、GlobalEventHandlers.onloadstart

要素の読み込みが完了すると、load イベントがトリガーされ、onload() が実行されます。その典型的な使用シナリオは、「window」オブジェクトと「」要素です。 window オブジェクトの場合、ページのすべてのリソース (画像、スクリプト、スタイル シート、フォントなどのすべての外部リソースを含む) が読み込まれた場合にのみ、load イベントがトリガーされます。

<img><video> などの要素の場合、読み込み開始時に loadstart イベントもトリガーされ、onloadstart が実行されます。

GlobalEventHandlers.onfocus、GlobalEventHandlers.onblur

現在の要素がフォーカスを取得すると、element.onfocus がトリガーされ、現在の要素がフォーカスを失うと、element.onblur がトリガーされます。

element.onfocus = function () {
  console.log("onfocus イベントが検出されました!");
};
element.onblur = 関数 () {
  console.log("onblur イベントが検出されました!");
};

ユーザー入力を受け入れることができる要素ではない場合、onfocus をトリガーするには、要素に tabindex 属性が必要であることに注意してください。

GlobalEventHandlers.onscroll

ページまたは要素がスクロールされると、scroll イベントがトリガーされ、onscroll() が実行されます。

GlobalEventHandlers.oncontextmenu、GlobalEventHandlers.onshow

ユーザーがページ上でマウスの右ボタンを押すと、contextmenu イベントがトリガーされ、oncontextmenu() が実行されます。この属性が実行後に「false」を返す場合、それは右クリック メニューを無効にするのと同じです。 document.oncontextmenuwindow.oncontextmenu と同じ効果があります。

document.oncontextmenu = function () {
  false を返します。
};

上記のコードでは、実行後に oncontextmenu 属性が false を返し、右クリック メニューは表示されません。

要素の右クリック メニューが表示されると、要素の onshow リスニング関数がトリガーされます。

その他のイベント属性

マウスイベントのプロパティ。

-onclick -ondblclick -onmousedown -onmouseenter -onmouseleave -onmousemove -onmouseout -onmouseover -onmouseup -車輪付き

キーボードイベントのプロパティ。

-onkeydown -onkeypress -onkeyup

フォーカスのイベントのプロパティ。

-onblur -オンフォーカス

フォームのイベントのプロパティ。

-入力時 -変更時 -送信時 -オンリセット -on無効 -onselect

イベントのプロパティをタッチします。

-ontouchキャンセル -ontouchend -ontouchmove -ontouchstart

ドラッグ イベント属性は 2 つのカテゴリに分類されます。1 つはドラッグされた要素に関連し、もう 1 つはドラッグされた要素を受け取るコンテナ要素に関連します。

ドラッグされた要素のイベント プロパティ。

  • ondragstart: ドラッグ開始
  • ondrag: ドラッグ中に数百ミリ秒ごとにトリガーされます -ondragend: ドラッグの終了

ドラッグされた要素を受け取るコンテナ要素のイベント プロパティ。

  • ondragenter: ドラッグされた要素がコンテナ要素に入ります。
  • ondragleave: ドラッグされた要素はコンテナ要素から離れます。
  • ondragover: ドラッグされた要素はコンテナ要素の上にあり、数百ミリ秒ごとにトリガーされます。
  • ondrop: マウスを放した後、ドラッグされた要素がコンテナ要素に配置されます。

<dialog> ダイアログ要素のイベント属性。

-キャンセル -onclose


作者: wangdoc

アドレス: https://wangdoc.com/

ライセンス: クリエイティブ・コモンズ 3.0