ホームページ > ウェブフロントエンド > jsチュートリアル > jQueryを使用してテキスト領域のカーソル位置を設定する方法?

jQueryを使用してテキスト領域のカーソル位置を設定する方法?

DDD
リリース: 2024-12-08 14:14:10
オリジナル
765 人が閲覧しました

How to Set the Cursor Position in Text Areas Using jQuery?

jQuery を使用してテキスト領域のカーソル位置を設定する

ユーザーにテキスト フィールドの特定の部分に注目してもらいたい場合は、カーソルを次の位置に置く必要がある場合があります。フィールド内の特定のオフセット。 jQuery を使用してこれを実現するには、setCursorPosition 関数を実装できます。

$.fn.setCursorPosition = function(pos) {
  if (this.setSelectionRange) {
    this.setSelectionRange(pos, pos);
  } else if (this.createTextRange) {
    var range = this.createTextRange();
    range.collapse(true);
    if (pos < 0) {
      pos = $(this).val().length + pos;
    }
    range.moveEnd("character", pos);
    range.moveStart("character", pos);
    range.select();
  }
};
ログイン後にコピー

この関数を適切に配置すると、目的のオフセットを指定して呼び出してカーソル位置を設定できます。

$("#input").focus(function() {
  $(this).setCursorPosition(4);
});
ログイン後にコピー

この例では、#input フィールドがフォーカスを受け取ると、カーソルは (先頭から数えて) 4 番目の文字の後に配置されます。 0).

別のアプローチは、受け入れられた回答で提供されている selectRange 関数を使用することです:

$.fn.selectRange = function(start, end) {
  if (end === undefined) {
    end = start;
  }
  return this.each(function() {
    if ("selectionStart" in this) {
      this.selectionStart = start;
      this.selectionEnd = end;
    } else if (this.setSelectionRange) {
      this.setSelectionRange(start, end);
    } else if (this.createTextRange) {
      var range = this.createTextRange();
      range.collapse(true);
      range.moveEnd("character", end);
      range.moveStart("character", start);
      range.select();
    }
  });
};
ログイン後にコピー

この関数を使用すると、カーソルを配置してテキストの範囲を選択できます:

$("#elem").selectRange(3, 5); // select a range of text
$("#elem").selectRange(3); // set cursor position
ログイン後にコピー

これらのソリューションは、jQuery を使用してカーソル位置を設定し、テキスト フィールド内のテキスト選択を操作するためのさまざまなメソッドを提供します。

以上がjQueryを使用してテキスト領域のカーソル位置を設定する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート