Herausforderung:
Benötigen Sie eine Methode, um die Cursorposition in einem Text festzulegen Bereich mit jQuery. Das gewünschte Verhalten besteht darin, den Cursor an einem bestimmten Offset zu positionieren, wenn das Feld fokussiert ist.
jQuery-Lösung:
$.fn.setCursorPosition = function(pos) { if (this.setSelectionRange) { this.setSelectionRange(pos, pos); } else if (this.createTextRange) { var range = this.createTextRange(); range.collapse(true); if (pos < 0) { pos = $(this).val().length + pos; } range.moveEnd("character", pos); range.moveStart("character", pos); range.select(); } };
Verwendung:
$('#input').focus(function() { $(this).setCursorPosition(4); });
Dadurch würde der Cursor nach dem vierten Zeichen im Text positioniert Feld.
Alternative Lösung:
$.fn.selectRange = function(start, end) { if (end === undefined) { end = start; } return this.each(function() { if ("selectionStart" in this) { this.selectionStart = start; this.selectionEnd = end; } else if (this.setSelectionRange) { this.setSelectionRange(start, end); } else if (this.createTextRange) { var range = this.createTextRange(); range.collapse(true); range.moveEnd("character", end); range.moveStart("character", start); range.select(); } }); };
Dies ermöglicht eine vielseitigere Textauswahl, einschließlich der Auswahl einer Reihe von Zeichen:
$('#elem').selectRange(3, 5); // select a range of text $('#elem').selectRange(3); // set cursor position
Das obige ist der detaillierte Inhalt vonWie kann ich die Cursorposition in einem jQuery-Textbereich festlegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!