Heim >Web-Frontend >js-Tutorial >Wie platziere ich den Cursor programmgesteuert am Ende einer Texteingabe in JavaScript?

Wie platziere ich den Cursor programmgesteuert am Ende einer Texteingabe in JavaScript?

DDD
DDDOriginal
2024-11-30 11:23:10925Durchsuche

How Do I Programmatically Place the Cursor at the End of a Text Input in JavaScript?

Mit JavaScript den Cursor am Ende einer Texteingabe platzieren

Das Platzieren des Cursors am Ende eines Texteingabeelements ist eine häufige Aufgabe in der Webentwicklung. Während es einfach ist, den Fokus auf das Element zu setzen, kann es schwierig sein, den Cursor an das Ende des eingegebenen Texts zu bringen.

JavaScript-Lösung

Der einfachste Ansatz in den meisten Browsern ist um sowohl die Eigenschaften „selectionStart“ als auch „selectionEnd“ des Eingabeelements auf die Länge seines Werts festzulegen:

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

Inklusive Lösung für Eigenartige Browser

Einige Browser weisen jedoch Eigenheiten auf, die einen umfassenderen Ansatz erfordern:

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

Diese Lösung legt einen sehr großen Wert für „selectionStart“ und „selectionEnd“ fest, um sicherzustellen, dass der Cursor aktiv ist am anderen Ende des Textes platziert.

Verwenden jQuery

Obwohl dies nicht unbedingt erforderlich ist, können Sie jQuery verwenden, um den Ereignis-Listener festzulegen:

$('#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 programmgesteuert am Ende einer Texteingabe 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
Vorheriger Artikel:Mein React Journey Tag1Nächster Artikel:Mein React Journey Tag1