onfocusinイベント
例
入力フィールド(input)がフォーカスを取得する直前に JavaScript を実行します:
試してみる »
この章の下部にはさらに例があります。
定義と用法
onfocusin イベントは、要素がフォーカスを取得する直前に発生します。
ヒント:onfocusin イベントは、onfocusイベントに類似しています。 主な違いは onfocus イベントがバブリングをサポートしないことです。したがって、要素またはその子要素がフォーカスを取得したかどうかを知りたい場合は、onfocusin イベントを使用する必要があります。
ヒント:Firefox ブラウザは onfocusin イベントをサポートしていませんが、次を使用することで、onfocus(addEventListener() メソッドのオプションパラメータを使用useCapture)のキャプチャリスナーイベントを使用して、要素またはその子要素がフォーカスを取得したかどうかを確認できます。
ヒント:onfocusin イベントの反対のイベントはonfocusoutイベントです。
ブラウザサポート
| イベント | |||||
|---|---|---|---|---|---|
| onfocusin | Yes | Yes | サポートされていません | Yes | Yes |
注意:Chrome、Safari、Opera 15+ ブラウザでは、HTML DOM 構文の onfocusin イベントが正常に動作しない場合があります。ただし、それは HTML 要素として、addEventListener() メソッドを使用することで正常に動作します。
構文
HTML の場合:
JavaScript(Chrome、Safari、Opera 15+ では正常に動作しない場合があります)の場合:
JavaScript で addEventListener() メソッドを使用する場合:
注意:Internet Explorer 8 およびそれ以前の IE バージョンでは、addEventListener()メソッドはサポートされていません。
技術的な詳細
| バブリングをサポートするか: | Yes |
|---|---|
| キャンセルできるか: | No |
| イベントタイプ: | FocusEvent |
| サポートされている HTML タグ: | すべての HTML 要素(ただし、<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, <title> を除く) |
その他の例
例
「onfocusin」と「onfocusout」イベントを一緒に使用する:
試してみる »
例
イベント委任: addEventListener() のuseCaptureパラメータを true に設定
<input type="text" id="myInput">
</form>
<script>
var x = document.getElementById("myForm");
x.addEventListener("focus", myFocusFunction, true);
x.addEventListener("blur", myBlurFunction, true);
function myFocusFunction() {
document.getElementById("myInput").style.backgroundColor = "yellow";
}
function myBlurFunction() {
document.getElementById("myInput").style.backgroundColor = "";
}
</script>
試してみる »
例
イベント委任: focusin イベントを使用(Firefox ブラウザではサポートされていません):
<input type="text" id="myInput">
</form>
<script>
var x = document.getElementById("myForm");
x.addEventListener("focusin", myFocusFunction);
x.addEventListener("focusout", myBlurFunction);
function myFocusFunction() {
document.getElementById("myInput").style.backgroundColor = "yellow";
}
function myBlurFunction() {
document.getElementById("myInput").style.backgroundColor = "";
}
</script>
試してみる »
その他の拡張
イベントオブジェクト