このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Window: focus イベント

Baseline Widely available

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

focus イベントは、要素がフォーカスを受け取ったときに発生します。

focus の反対は blur です。

このイベントはキャンセル不可で、バブリングしません。

構文

このイベント名を addEventListener() のようなメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。

js
addEventListener("focus", (event) => { })

onfocus = (event) => { }

イベント型

FocusEvent です。UIEvent および Event を継承しています。

Event UIEvent FocusEvent

イベントプロパティ

このインターフェイスは親である UIEvent から、そして間接的に Event から継承したプロパティもあります。

FocusEvent.relatedTarget

このイベントのセカンダリーターゲットを EventTarget で表します。場合によっては(ページへの移動やページからの移動時など)、セキュリティ上の理由から、このプロパティが null に設定されることがあります。

ライブデモ

この例ではフォーカスを失ったときに文書の外見を変更します。 addEventListener() を使用して focus および blur イベントを監視します。

HTML

html
<p id="log">この文書をクリックして、アクティブにしてください。</p>

CSS

css
.paused {
  background: #dddddd;
  color: #555555;
}

JavaScript

js
const log = document.getElementById("log");

function pause() {
  document.body.classList.add("paused");
  log.textContent = "フォーカスが失われました!";
}

function play() {
  document.body.classList.remove("paused");
  log.textContent =
    "この文書にフォーカスがあります。文書の外をクリックするとフォーカスが失われます。";
}

window.addEventListener("blur", pause);
window.addEventListener("focus", play);

結果

仕様書

Specification
UI Events
# event-type-focus
HTML
# handler-onfocus

ブラウザーの互換性

関連情報

  • 関連イベント: blur
  • Element を対象としたこのイベント: focus イベント