入力ボックスのコンテンツプロンプトと非表示機能を実装する JavaScript

入力ボックスのコンテンツプロンプトと非表示機能を実装する JavaScript

入力ボックスが小さい場合、内容を入力した後に、入力内容が拡大されたプロンプト ボックスを表示したいことがあります。

実装のアイデア

  • まずページにプロンプ​​トボックスを記述し、プロンプトボックスのCSSプロパティをdisplayに設定して非表示にします。
  • 入力ボックス要素オブジェクトと情報プロンプトボックス要素オブジェクトを取得します。
  • 入力ボックス要素オブジェクトにキーボードイベントをバインドします - - -keyup、
  • イベントハンドラ: 入力内容が空かどうかを判断します。空でない場合は、入力ボックスの内容を情報プロンプトボックスに割り当て、情報プロンプトボックスの表示を設定します。表示はブロックに設定されています。空の場合は、プロンプトボックスを表示しないように設定します。
  • フォーカス獲得イベントとフォーカス喪失イベントを追加します。
  • ぼかし - - フォーカスが失われました: マウスが入力ボックスを選択しておらず、入力ボックス内でカーソルが点滅していない場合、情報プロンプトボックスは表示されません: 表示はなしに設定されています
  • フォーカス - フォーカスを取得します。マウスが入力ボックスをクリックし、入力ボックス内でカーソルが点滅すると、入力ボックスにコンテンツがあるかどうかが判断され、情報プロンプト ボックスが表示されます。

これはキーボードのリリース イベントであることに注意してください。キーボードのプレス イベント (keydown または keypress) は使用しないでください。入力した単語は、キーボードが押されたときには入力されません。入力した単語は、キーボードがリリースされたときにのみ入力されます。

コード例:

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>JD Express 追跡番号クエリのシミュレーション</title>
    <スタイル>
        * {
            マージン: 0;
            パディング: 0;
        }
        
        入力{
            アウトラインスタイル: なし;
        }
        
        。検索 {
            位置: 相対的;
            幅: 220ピクセル;
            マージン: 100px 自動;
        }
        
        。情報 {
            表示: なし;
            位置: 絶対;
            上: -40px;
            左: 0;
            幅: 170ピクセル;
            パディング: 5px 0;
            フォントサイズ: 18px;
            行の高さ: 20px;
            境界線: 1px実線 rgba(0, 0, 0, .2);
            ボックスの影: 0px 2px 4px rgba(0, 0, 0, .2);
        }
        
        .info::before {
            コンテンツ: '';
            幅: 0;
            高さ: 0;
            位置: 絶対;
            上: 28px;
            左: 18px;
            境界線: 8px 実線 #000;
            境界線の色: #fff 透明 透明;
            境界線のスタイル: 実線 破線 破線;
        }
    </スタイル>
</head>

<本文>
    <div class="検索">
        <div class="info">(*´▽`)ノノ</div>
        <input type="text" class="express" placeholder="照会したいエクスプレス番号を入力してください">
        <input type="button" value="クエリ">
    </div>
    <スクリプト>
        var expressNo = document.querySelector('.express');
        var info = document.querySelector('.info');


        expressNo.addEventListener('keyup', 関数() {
            console.log(expressNo.値);
            コンソールログ(info.innerHTML);
            if (this.value == '') {
                info.style.display = 'なし';
            } それ以外 {
                info.style.display = 'ブロック';
                info.innerHTML = this.value;
            }
        });


        // フォーカスを失い、ボックスを非表示にします expressNo.addEventListener('blur', function() {
            info.style.display = 'なし';
        })

        //フォーカスイベントを取得してボックスを表示する expressNo.addEventListener('focus', function() {
            if (this.value !== '') {
                info.style.display = 'ブロック';
            }
        })
    </スクリプト>
</本文>

</html>

ページ効果:

エクスプレス追跡番号クエリ.gif

これで、JavaScript を使用して入力ボックス コンテンツ プロンプトと非表示機能を実装する方法に関するこの記事は終了です。関連する js 入力ボックス コンテンツ プロンプトと非表示コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript 入力ボックスのファジープロンプト機能の実装
  • JSは、入力ボックスのプロンプトテキストをクリック時に消す効果を実現します。
  • JavaScriptで情報を出力する方法(情報確認ボックス-プロンプト入力ボックス-ドキュメントフロー出力)
  • ネイティブjsはパスワード入力ボックスの値の表示と非表示を実現します
  • JavaScript を使用して入力ボックスをアクティブにした後、初期コンテンツを非表示にする

<<:  Dockerコンテナのデータボリュームの詳細な説明

>>:  Manjaro インストール CUDA 実装チュートリアル分析

推薦する

Apache Tomcat と IDEA エディターの統合に関する詳細なチュートリアル

1. Apache Tomcat 公式サイトから Tomcat 圧縮パッケージをダウンロードします。...

Vueは商品詳細ページの商品タブ機能を実装します

この記事の例では、商品詳細ページ機能を実現するためのVueの商品タブの具体的なコードを参考までに共有...

HTML 名、ID、クラス (フォーマット/アプリケーション シナリオ/機能) などの違いの紹介。

ページには多くのコントロール (要素またはタグ) があります。これらのタグをより便利に操作するには、...

Mysqlは隣接リスト(隣接リスト)を通じてツリー構造を保存します。

以下の内容では、隣接リストを使用してツリー構造を保存する MYSQL のプロセスとソリューションを紹...

オンラインチャットを実現するVue+sshフレームワーク

この記事では、オンラインチャットを実現するためのVue + sshフレームワークの具体的なコードを参...

vue-cropper を使用して vue で写真をトリミングする方法をご存知ですか?

目次1. インストール: 2. 使用方法: 3. 組み込みメソッド: 4. 使用方法:要約する公式サ...

Linux で MySQL をインストールする簡単な方法

Linux に MySQL をインストールする方法をオンラインで検索すると、多くの方法が表示されまし...

border-image を使用してテキストバブルの境界線を実装する方法のサンプルコード

開発中に、非常に単純なテキストバブル効果に遭遇しました。これは、おおよそ次のようになります。 うーん...

Dockerfile における ENTRYPOINT と CMD の違い

Docker システムの学習チュートリアルでは、Dockerfile を使用して Docker イメ...

Webフロントエンドの一般的な操作(JS/HTML/CSSなどの知識を含む)

ul liの前のアイコン1をキャンセルしますクリア値1値を1に設定ラベル中央値1をクリアラベルの中央...

Linux スケジュールタスクの関連操作の概要

皆様の参考と操作を容易にするために、様々な主要ウェブサイトを検索し、関連するスケジュールされたタスク...

パズル効果を実現するネイティブ js

この記事では、パズル効果を実現するためのネイティブjsの具体的なコードを参考までに共有します。具体的...

MySQLプロセス関数の一般的な使用例の分析

この記事では、例を使用して MySQL プロセス関数の一般的な使用方法を説明します。ご参考までに、詳...

1つの記事でNavicat for MySQLの基本を理解する

目次1. データベース操作2. データ型3. バックアップとリカバリ3. 操作4. 上級5. 知識補...

モバイルデバイスでのフリーズ問題に対する CSS3 ソリューション (アニメーション パフォーマンスの最適化)

1. CSS、jQuery、Canvasを使用してアニメーションを作成する1. キャンバス利点: ...