--- title: GlobalEventHandlers.onfocus slug: Web/API/GlobalEventHandlers/onfocus tags: - API - Event Handler - GlobalEventHandlers - HTML DOM - Property - Reference translation_of: Web/API/GlobalEventHandlers/onfocus ---
{{ApiRef("HTML DOM")}}

{{domxref("GlobalEventHandlers")}} ミックスインの onfocus プロパティは、与えられた要素上の focus イベントを処理する {{event("Event_handlers", "event handler")}} です。

focus イベントは、ユーザーがある要素にフォーカスを設定した時に生じます。

非 input 要素上で onfocus を発生させるには、{{htmlattrxref("tabindex")}} 属性が与えられていなければなりません (詳細は Building keyboard accessibility back in を参照)。

補足: onfocus の反対が {{domxref("GlobalEventHandlers.onblur", "onblur")}} です。

構文

target.onfocus = functionRef;

functionRef は関数名または 関数式 です。この関数は、{{domxref("FocusEvent")}} オブジェクトとその 1 個の引数を受け取ります。

この例は、{{domxref("GlobalEventHandlers.onblur", "onblur")}} および onfocus を使用して {{HtmlElement("input")}} 要素内のテキストを変更します。

HTML

<input type="text" value="ここをクリック">

JavaScript

let input = document.querySelector('input');

input.onblur = inputBlur;
input.onfocus = inputFocus;

function inputBlur() {
  input.value = 'Focus has been lost';
}

function inputFocus() {
  input.value = 'Focus is here';
}

実行結果

フォームフィールドの内側と外側をクリックしてみてください。それに応じてコンテンツが変化するか観察してください。

{{EmbedLiveSample('Example')}}

仕様

仕様書 策定状況 備考
{{SpecName('HTML WHATWG','webappapis.html#handler-onfocus','onfocus')}} {{Spec2('HTML WHATWG')}}

ブラウザー実装状況

{{Compat("api.GlobalEventHandlers.onfocus")}}

IE とは対称的に、focus イベントを受け取るほとんどすべての要素では、Gecko ブラウザー上のほとんどすべての要素において、このイベントが動作しません。

関連項目