Heim >Web-Frontend >js-Tutorial >Wie kann ich den Cursor programmgesteuert in einem HTML-Textfeld positionieren?
Tastatur-Einfügemarke in HTML-Textfeldern positionieren
Um die Tastatur-Einfügemarke innerhalb eines Textfelds zu verschieben, kann mithilfe von JavaScript eine bestimmte Position festgelegt werden.
Generisch Funktion:
function setCaretPosition(elemId, caretPos) { var elem = document.getElementById(elemId); if (elem) { if (elem.createTextRange) { // IE specific var range = elem.createTextRange(); range.move('character', caretPos); range.select(); } else if (elem.selectionStart) { elem.focus(); elem.setSelectionRange(caretPos, caretPos); } else { elem.focus(); // Fallback for browsers not supporting setSelectionRange } } }
Verwendung:
Beispiel:
So setzen Sie das Caretzeichen vor Zeichen 20 in einem Textfeld mit 50 Zeichen:
setCaretPosition('myTextbox', 20);
Kompatibilität:
Zusätzliche Hinweise:
Sie können das auch erzwingen Caret, um mit diesem Code (innerhalb der addLoadEvent-Funktion) zum Ende aller Textbereiche im Seitenfokus zu springen:
for (var i = 0; i < textAreas.length; i++) { textAreas[i].onfocus = function() { setCaretPosition(this.id, this.value.length); } }
Das obige ist der detaillierte Inhalt vonWie kann ich den Cursor programmgesteuert in einem HTML-Textfeld positionieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!