Heim >Web-Frontend >js-Tutorial >Wie erhalte ich die Cursorposition in einem Texteingabefeld?

Wie erhalte ich die Cursorposition in einem Texteingabefeld?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-14 01:14:12666Durchsuche

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

Cursorposition in Eingabefeldern

Abfrage:

Wie können Sie die Cursorposition (in Zeichen) innerhalb eines bestimmen? Texteingabe Feld?

Antwort:

Verbesserte Lösung:

Verwenden Sie field.selectionStart wie in der bereitgestellten Antwort erwähnt.

Originallösung:

Für Für die Nicht-jQuery-Integration kann der folgende Code verwendet werden:

/*
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;
}

Das obige ist der detaillierte Inhalt vonWie erhalte ich die Cursorposition in einem Texteingabefeld?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn