Heim >Web-Frontend >js-Tutorial >Wie platziere ich den Cursor zuverlässig am Ende eines Texteingabeelements in JavaScript?

Wie platziere ich den Cursor zuverlässig am Ende eines Texteingabeelements in JavaScript?

Linda Hamilton
Linda HamiltonOriginal
2024-11-30 06:03:11882Durchsuche

How to Reliably Place the Cursor at the End of a Text Input Element in JavaScript?

Cursor am Ende eines Texteingabeelements in JavaScript platzieren

Das Platzieren des Cursors am Ende eines Texteingabeelements in JavaScript ist ein einfacher Vorgang Aufgabe, insbesondere nachdem der Fokus auf das Element gesetzt wurde. Lassen Sie uns den effizientesten und unkompliziertesten Ansatz erkunden:

Der folgende Codeausschnitt bietet eine einfache, aber effektive Lösung:

this.selectionStart = this.selectionEnd = this.value.length;

Diese Zeile berechnet die Länge des Eingabewerts und legt sowohl den Start- als auch den Anfangswert fest Endcursor an diese Position verschieben. Diese Methode funktioniert in den meisten gängigen Browsern.

Bestimmte Browser weisen jedoch Besonderheiten auf, die eine umfassendere Lösung erfordern:

setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0);

In diesem Codeausschnitt wird ein setTimeout() verwendet, um potenzielle Probleme zu lösen Browser-Inkonsistenzen. Es setzt die Cursorposition auf eine beliebig große Zahl (z. B. 10000) und stellt so sicher, dass sie über das Ende des Eingabetextes hinausgeht und ihn im Wesentlichen am Ende platziert.

Zusätzlich können Sie jQuery verwenden, um die festzulegen Fokus Zuhörer:

$('#el').focus(function(){
  var that = this;
  setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0);
});

Das obige ist der detaillierte Inhalt vonWie platziere ich den Cursor zuverlässig am Ende eines Texteingabeelements in JavaScript?. 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