Heim >Web-Frontend >js-Tutorial >Wie kann ich die Caret-Position in einem Texteingabefeld abrufen?

Wie kann ich die Caret-Position in einem Texteingabefeld abrufen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-13 19:06:19834Durchsuche

How Can I Retrieve the Caret Position in a Text Input Field?

Caret-Position in einem Texteingabefeld abrufen

Möchten Sie wissen, wie Sie die Cursorposition aus einem Eingabefeld abrufen? In diesem Artikel werden mehrere Lösungen bereitgestellt, darunter ein einfach zu integrierendes jQuery-Plugin.

jQuery-Plugin

Um die Cursorposition mithilfe des jQuery-Plugins zu ermitteln, führen Sie die folgenden Schritte aus:

  • Installieren Sie ein jQuery-Plugin wie Caret. js.
  • Verweisen Sie auf das Plugin-Skript auf der Seite.
  • Verwenden Sie die Methode $("#myinput").caretPosition(), um die Cursorposition zu ermitteln.

Andere Lösungen

Wenn Sie das jQuery-Plugin nicht verwenden möchten, können Sie die folgenden Lösungen verwenden:

Native JavaScript

Diese Methode basiert auf field.selectionStart Eigenschaften:

function doGetCaretPosition(field) {
  return field.selectionStart;
}

Readme-Funktionen

Diese Lösung bietet eine breitere Kompatibilität, einschließlich IE und Firefox:

function doGetCaretPosition(field) {
  var iCaretPos = 0;

  // IE support
  if (document.selection) {
    field.focus();
    var oSel = document.selection.createRange();
    oSel.moveStart('character', -field.value.length);
    iCaretPos = oSel.text.length;
  }

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

  return iCaretPos;
}

Das obige ist der detaillierte Inhalt vonWie kann ich die Caret-Position in einem Texteingabefeld abrufen?. 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