JavaScript

【JavaScript】focusイベントとは?フォーカスされた時に処理を行う

こちらの記事では、JavaScriptのfocus(フォーカス)イベントについてサンプルコードを用いて分かりやすく解説しています。

JavaScriptの学習におすすめ参考書
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

参考書が苦手な人はUdemyの動画がおすすめ
ガチで学びたい人のためのWEB開発徹底実践(フロントエンド編)

動画情報
作成者CodeMafia
学習時間19.5時間
受講者数28,547人
レビュー (5,025件)
動画の詳細はこちら

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>
サンプルコード解説

  1. focusイベントを設定する対象のテキストフィールド要素を取得
  2. addEventListenerメソッドの第一引数にfocusを指定
  3. focusイベントが実行された時に背景色を水色に変化させる

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村