FocusEvent

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

FocusEvent はフォーカスに関するイベント、例えば focusblurfocusinfocusout などを表します。

Event UIEvent FocusEvent

コンストラクター

FocusEvent()

指定した引数に基づいて、FocusEvent イベントを作成します。

インスタンスプロパティ

このインターフェイスは親である UIEvent および間接的に Event から、プロパティを継承しています

FocusEvent.relatedTarget

このイベントのセカンダリーターゲットを表す EventTarget です。一部の場合(タブ移動でページに出入りするときなど)では、セキュリティ上の理由からこのプロパティが null に設定されます。

インスタンスメソッド

このインターフェイスには固有のメソッドはありません。親である UIEvent および間接的に Event から、メソッドを継承しています。

イベントの順序

UI イベント 仕様書では、フォーカスイベントは互いに相対的に 設定された順序で発生する と記載されており、さらに、要素 A から要素 B にフォーカスが移動したときに発行される典型的なイベントのシーケンスが記述されています。

  1. focusout: 要素 A がフォーカスを失う前に送られます。
  2. focusin: 要素 B がフォーカスを受け取る前に送られます。
  3. blur: 要素 A がフォーカスを失った後に送られます。
  4. focus: 要素 B がフォーカスを受け取った後に送られます。

しかし、現在のブラウザー実装では、この 4 つのイベントを異なる形で発行しています。

  1. blur: 要素 A がフォーカスを失った後に送られます。
  2. focusout: blur イベントが送られた後で送られます。
  3. focus: 要素 B がフォーカスを失った後に送られます。
  4. focusin: focus イベントが送られた後で送られます。

仕様書

Specification
UI Events
# interface-focusevent

ブラウザーの互換性

BCD tables only load in the browser

関連情報

  • Event 基本インターフェイス