こちらの記事では、JavaScriptのfocus(フォーカス)イベントについてサンプルコードを用いて分かりやすく解説しています。
JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
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イベントが実行された時に背景色を水色に変化させる
あわせて読みたい