首頁 >web前端 >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.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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn