JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのonfocusイベントとは?基本の使い方をサンプルコード付きで解説

onfocusイベントは、要素がフォーカスを受け取った瞬間に発生するイベントです。テキストボックスやフォーム要素をマウスでクリックしたとき、あるいはTabキーでカーソルが移動してきたときなどに発火します。ユーザーが入力を始めるタイミングを検知できるため、入力欄のハイライト表示やヒントテキストの表示など、フォーム操作を快適にするUIでよく活用されています。

onfocusイベントの実装例

以下は、テキスト入力欄にフォーカスが当たったときに、その背景色を青色に変更するシンプルなサンプルです。実際にコードを実行して、入力欄をクリックしてみてください。

サンプルコード

<!DOCTYPE html>
<html>
   <body>
      <p>下記に入力してください:</p>
      <input type = "text" onfocus = "newFunc(this)">
      <script>
         function newFunc(x) {
           x.style.background = "blue";
         }
      </script>
   </body>
</html>

コードのポイント解説

このサンプルでは、input要素にonfocus = "newFunc(this)"という形でイベントハンドラを設定しています。入力欄がクリックされてフォーカスを受け取ると、newFunc関数が呼び出され、引数のthisによってフォーカスされた要素自身が渡されます。関数の中ではx.style.background = "blue"により、該当する入力欄の背景色を青色へと動的に変更しています。

なお、対になるイベントとして、要素からフォーカスが外れたときに発生するonblurイベントもあります。両者を組み合わせることで、「入力中はハイライトし、入力完了後は元に戻す」といったインタラクションも簡単に実装できます。

  1. JavaScriptにおけるscreenYマウスイベントの役割とは?

    JavaScriptにおいて、screenYマウスイベントプロパティは、イベントが発生した際のマウスポインタの垂直方向(Y軸)の座標を返します。 この値は、画面(モニター)の左上を原点とした絶対的な座標として取得されるため、ブラウザウィンドウの位置に関係なく、画面全体の中でのポインタ位置を知ることができます。なお、水平方向の座標を取得したい場合は、同じく用意されている screenX プロパティを使用します。 screenYの主な特徴 マウスポインタの垂直座標(Y座標)をピクセル単位で返す 画面の左上を基準点(0, 0)とする clientY とは異なり、ブラウザの表示領域ではなく画面全体が

  2. JavaScriptのevery()メソッドとは?使い方とサンプルコードをわかりやすく解説

    JavaScriptの配列(Array)メソッドである every() は、配列内のすべての要素が、指定した関数によるテスト条件を満たしているかどうかを判定するメソッドです。 判定結果はブール値(真偽値)として返されます。 すべての要素が条件を満たす場合 → true 1つでも条件を満たさない要素がある場合 → false every()メソッドのパラメータ every()メソッドでは、以下の2つの引数を使用できます。 callback − 各要素に対して実行されるテスト用の関数です。この関数が false を返すと、その時点で処理が中断され、every()全体が false を返します