【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

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

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

JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
総合評価
( 5 )
メリット
  • 誰でも分かるように嚙み砕いて説明してくれる
  • アニメーションの知識が深く学べる
  • 1つのWebサイトを作りながら学べる
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

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イベントが実行された時に背景色を水色に変化させる

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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次