ホームページ >ウェブフロントエンド >jsチュートリアル >テキスト入力フィールドのカーソル位置を取得するにはどうすればよいですか?

テキスト入力フィールドのカーソル位置を取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-14 01:14:12670ブラウズ

How to Get the Cursor Position in a Text Input Field?

入力フィールドのカーソル位置

クエリ:

フィールド内のカーソル位置 (文字単位) を確認するにはどうすればよいですか?テキスト入力field?

回答:

改善された解決策:

提供された応答に記載されている field.selectionStart を使用します。

オリジナル解決策:

非 jQuery 統合の場合、次のコードを利用できます:

/*
Returns the caret (cursor) position of the specified text field (oField).
Return value range is 0-oField.value.length.
*/
function doGetCaretPosition(oField) {
  // Initialize
  var iCaretPos = 0;

  // IE Support
  if (document.selection) {
    // Set focus on the element
    oField.focus();

    // To get cursor position, get empty selection range
    var oSel = document.selection.createRange();

    // Move selection start to 0 position
    oSel.moveStart('character', -oField.value.length);

    // The caret position is selection length
    iCaretPos = oSel.text.length;
  }

  // Firefox support
  else if (oField.selectionStart || oField.selectionStart == '0')
    iCaretPos = oField.selectionDirection=='backward' ? oField.selectionStart : oField.selectionEnd;

  // Return results
  return iCaretPos;
}

以上がテキスト入力フィールドのカーソル位置を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。