• HOME > 
  • JavaScript > 
  • jQueryのblurでフォーカスが外れた時の処理を行う方法...

jQueryのblurでフォーカスが外れた時の処理を行う方法【入力チェックなど】

投稿日:

このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。

カテゴリー記事のアイキャッチ画像
広告
広告

blurメソッドとは?

jQueryのblur()メソッドはフォームの入力ボックスなどでフォーカスが外れたときに処理を実行させることができるメソッドです。

入力チェックなどに利用されることが多いメソッドで、未入力であったり、指定外の文字を含んでいた時にメッセージを表示させるといった処理を行うことが可能になります。

フォーカスとは入力ボックスなどがクリックされて入力できる状態になっていることを指します。その後、別の場所をクリックしたり、他の入力ボックスにカーソルを移すことをフォーカスが外れると言います。

フォーカスされたときの処理は「focus()メソッド」を使って記述します。

なお、フォーカスされた時にスタイルを変更させたいだけであればCSSの疑似クラス「:focus」で簡単に行えます。(フォーカスされている時だけのスタイルなので、blurメソッドで外れた時の処理を書く必要はありません。)

リンク先のサムネイル
CSSの疑似クラス「:focus」の使い方【focus-withinとの違い】

CSSでは疑似クラスである「:focus」を用いることで、フォーカス時のスタイルを設定することが可能です。同じく疑似クラスの「:focus-within」は、その要素自体もしくは子要素にフォーカスがある状態で有効になり、スタイルが適用されます。...【もっと読む】

blurの使い方

blurメソッドは次のように記述して使用します。

blurの書き方

入力チェックなどを行いたいときは、条件分岐などを用いて処理を記述していきます。

下の例ではテキストボックスからフォーカスが外れた時にチェックを行い、入力されていなかったらメッセージを表示するようにしています。

HTML

<input type="text" id="testA" placeholder="ここに入力してください">

CSS

span.notice{
    font-size:12px;
    color:#d40000;
    margin-left:5px;
}

jQuery

$("#testA").blur(function(){
    if($(this).val() == ""){
        $(this).after("<span class='notice'>※入力されていません!</span>");
    }
});

プレビュー

focusメソッドと組み合わせて使う

先程の例では、テキストボックスが空の状態でフォーカスが外される度にメッセージが追加され続けてしまいます。

そこで、フォーカスされた時の処理を行う「focusメソッド」を使って、フォーカスされたらメッセージを削除して、メッセージが増え続けないようにします。

jQuery

$("#testA").blur(function(){
    if($(this).val() == ""){
        $(this).after("<span class='notice'>※入力されていません!</span>");
    }
});
/*追記↓*/
$("#testA").focus(function(){
    $(this).next(".notice").remove();
});

プレビュー

まとめ

以上がjQueryのblur()でフォーカスが外れた時の処理を行う方法です。

入力チェックなどをリアルタイムで行うことができるので問い合わせフォームなどのユーザビリティの向上が期待できるのではないでしょうか?

広告
広告

関連する記事

サムネイル

JSでセレクト値が変更されたらフォームを送信を実行する方法【……

2024年07月02日
ユーザーがセレクトボックスの値を変更したタイミングでフォームの送信を実行するという処理を実装する機会があったので、その方法を備忘録として残しておきます。
サムネイル

JSでチェックボックスの全選択全解除を行う方法【すべて選択】

2024年07月02日
フォームのチェックボックスの数が多いときにあると便利な、ワンクリックで全選択や全解除できる機能をJavaScriptで作る機会があったので、その方法を備忘録として残します。
サムネイル

JSで配列の重複チェックを行う【Setオブジェクトを利用】

2024年07月02日
JavaScriptで配列の中に重複する値が存在するか判定したい状況があり、その時に調べたことを備忘録として残しておきます。今回は単純に重複しているかどうかだけ分かればよかったので、「Setオブジェクト」を使って重複チェックを行う方法を選びました。
サムネイル

JSのkeyup・keydown・keypressの違い【キ……

2024年06月13日
JavaScriptの「keyup」「keypress」「keydown」はいずれもユーザーのキーボードイベントを処理したい時に使用します。それぞれ処理が発火するタイミングなどに違いがあるので、用途に応じた使い分けが必要です。
サムネイル

JSでテキストボックスに入力された値を即時取得する【this……

2024年06月13日
ユーザーがinputのテキストボックスに入力した値をJavaScriptを使って即時取得して処理させたい状況がありましたので、その方法を備忘録として残しておきます。
サムネイル

JavaScriptで偶数と奇数を判定する方法【テーブルの行……

2024年05月16日
ある数値が偶数か奇数かは、「数値を2で割って余りが0なら偶数」「数値を2で割って余りが0でなければ奇数」という方法で判別を行います。
サムネイル

JSで郵便番号検索を実装できるライブラリ【yubinbang……

2024年04月12日
yubinbango.jsは郵便番号検索(郵便番号を打ち込むと住所が自動入力される)機能を簡単に実装できるのライブラリです。一実装方法がとても簡単なのでメールフォームなどに手軽に郵便番号検索機能を導入したい方におすすめです。