こちらの記事では、JavaScriptのfocus(フォーカス)イベントについてサンプルコードを用いて分かりやすく解説しています。
ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】
JavaScriptの学習におすすめ参考書
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
focusイベントとは
focusイベントとは、ユーザーがテキストフィールドやテキストエリアなどに対してフォーカスした時(クリックやキーボードのTabキー)のタイミングで実行されるイベントです。
同じフォーカス系イベントである、blurイベント(フォーカスが一度された状態から外れた時に実行される)とは対照的のイベントになります。
focusイベントの使い方
focusイベントは「addEventListenerメソッド」「onfocusプロパティ」「onfocus属性」の3つの書き方があります。▼トリガーになる要素を取得(addEventListenerとonfocusプロパティで使用)
const elem = document.getElementById('js-elem'); // トリガーになる要素を取得
▼addEventListenerメソッド
elem.addEventListener('focus',function(){ // 第一引数にfocusを指定
// 処理を記述
});
▼onfocusプロパティ
elem.onfocus = function(){
// 処理を記述
};
▼onfocus属性
<form>
<input type="text" placeholder="テキストを入力してください" onfocus="focusEvent();">
</form>
<script>
function focusEvent(){
// 処理を記述
}
</script>
サンプルコード
こちらで紹介するサンプルコードは、テキストフィールドにフォーカスをあてると背景色が水色に変化します。
※一度フォーカスをあててしまうと、背景色が水色のままになってしまうためサンプルコード内にフォーカスが外れた時に背景色を戻す処理を追加しています。
実行結果
<form>
<input id="text" type="text" placeholder="テキストを入力してください">
</form>
<script>
window.addEventListener('DOMContentLoaded',function(){
const text = document.getElementById('text'); // ①
text.addEventListener('focus',function(e){ // ②
e.target.style.background = "#9DCCE0"; // ③
});
text.addEventListener('blur',function(e){
e.target.style.background = "";
});
});
</script>
サンプルコード解説
- focusイベントを設定する対象のテキストフィールド要素を取得
- addEventListenerメソッドの第一引数にfocusを指定
- focusイベントが実行された時に背景色を水色に変化させる
あわせて読みたい