自動的にフォーカスを取得する要素入力ボックスの実装

自動的にフォーカスを取得する要素入力ボックスの実装

最近のプロジェクトでフォームを作成するときに、コメント ボックスまで自動的にスクロールし、コメント ボックスを自動的にフォーカスさせる必要があります。そのためには、入力ボックスのフォーカス状態を手動でトリガーする必要があります。

ただし、要素は autofocus 属性をサポートしていないため、ネイティブ js 効果を通じてのみフォーカス効果を得ることができます。

document.getElementById("入力").focus();

または、vue の ref 属性を使用してフォーカス効果を実現することもできます。

原理は実はとてもシンプルです。Element はすでに focus メソッドを提供していますが、ドキュメントではその呼び出し方法が明記されていません。以下は、el-input タグに ref 属性を追加し、必要な場所でメソッドを直接呼び出す方法です。

<el-input v-model="input" placeholder="コンテンツを入力してください" ref="input"></el-input>
this.$nextTick(() => {
      this.$refs.input.focus()
    })

注: ページにはフォーカス効果を 1 つだけ設定できます。

最後に、vueはカスタム命令もサポートしています

ページが読み込まれると、要素にフォーカスが設定されます (注: モバイル Safari では自動フォーカスは機能しません)。実際、ページを開いてから何もクリックしていない限り、入力ボックスにフォーカスが当たったままになります。次に、命令を使用してこの機能を実装してみましょう。

// グローバルカスタムディレクティブ `v-focus` を登録します
Vue.directive('focus', {
  // バインドされた要素が DOM に挿入されると...
  挿入: 関数 (el) {
    // 要素にフォーカス el.focus()
    //要素UI
    el.children[0].focus()
    // 表示や親要素の変更など、要素が変更された場合は、遅延を追加したり、setTimeout(_ => {
      el.children[0].focus()
    })
  }
})

参考: vue カスタムディレクティブ https://cn.vuejs.org/v2/guide/custom-directive.html

要素入力ボックスのフォーカスを自動的に取得する方法についての記事はこれで終わりです。要素入力ボックスのフォーカスを自動的に取得する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue フォーム入力ボックスがフォーカスおよびぼかしイベントをサポートしていない問題の解決策
  • VueはInput入力ボックスのファジークエリメソッドを実装します
  • Vueの入力ボックスはクリックしてもフォーカスされません

<<:  ドメイン名、ポート、異なるIPに基づくnginx仮想ホスト設定の実装

>>:  フロントエンドの HTML 知識ポイントのまとめ (推奨)

推薦する

vue+rem カスタムカルーセル効果

vue+remを使用したカスタムカルーセルチャートの実装は参考までに。具体的な内容は以下のとおりです...

Node.js における path.join() の利点の分析

文字列連結ではなく path.join() メソッドを使用する必要があるのはなぜか疑問に思うかもしれ...

MySQL 接続とコレクションの簡単な分析

結合クエリ結合クエリとは、2 つ以上のテーブル間のマッチング クエリを指し、一般的には水平操作と呼ば...

Blazor における CSS 分離の問題

1. 環境VS 2019 16.9.0 プレビュー 1.0 .NET SDK 5.0.100 2. ...

検索履歴を実装するjQueryプラグイン

毎日jQueryプラグイン - 検索履歴を作成するためのものです。参考までに、具体的な内容は次のとお...

MySQL のクラスター化インデックスとクラスター化インデックスの成長の仕組みを理解する

このノートでは、 MySQL の B+Tree インデックスとは何ですか?クラスター化インデックスは...

FileZilla を使用して FTP サーバーに接続するプロセスの図

最初にサーバー上に FTP サーバーをセットアップし始めたとき、接続できないことがわかったので、Fi...

HTML ボディタグと HTML でよく使われる制御タグの詳細な説明

1. <body> タグ: Web ページの本体をマークするために使用されます。body...

特殊効果メッセージボックスを実現するネイティブJS

この記事では、ネイティブ JS で実装された特殊効果メッセージ ボックスを紹介します。効果は次のとお...

Linux に Python 3.8.1 をインストールするための詳細なチュートリアル

この例では、Linux への Python 3.8 のインストールを例に挙げます。 1. 依存パッケ...

MySQL最適化ソリューション: スロークエリログを有効にする

目次序文スロークエリログの設定テスト付録: ログ解析ツール mysqldumpslow要約する序文こ...

6ull が Linux ドライバ モジュールをロードできない問題の解決方法

目次0x01 ドライバーモジュールのロードに失敗しました0x02 ソリューション要約する0x01 ド...

Linux で AIDE に基づいてファイルシステムの整合性を検出する方法

1. 補助AIDE (Advanced Instruction Detection Environm...

要素 ui の el-table の列にさまざまなスタイルのデータを動的に実装する例

問題の説明Ele.me UI のフレームワークでは、入力データは el-form であり、出力データ...

NodeJSとブラウザにおけるこのキーワードの違い

序文JavaScript を学習した人なら誰でも、さまざまな環境で this がどこを指すかという問...