Mit "die letzte Position" meinst du das Ende des Textes?
Durch Ändern des '.value' eines Formularfelds wird der Cursor in jedem Browser mit Ausnahme von IE an das Ende verschoben. Mit IE müssen Sie Ihre Hände schmutzig und gezielt zu manipulieren, um die Auswahl zu erhalten, unter Verwendung von Nicht-Standard-Schnittstellen:
if (browserIsIE) {
var range= element.createTextRange();
range.collapse(false);
range.select();
} else {
element.focus();
var v= element.value();
element.value= '';
element.value= v;
}
Oder meinen Sie den Cursor an die Stelle es vorher war zurückgestellt, das letzte Mal, das Textfeld war fokussiert?
In jedem Browser außer IE, geschieht dies bereits durch den Aufruf von 'element.focus()'; Der Browser speichert die letzte Cursor-/Auswahlposition pro Eingabe und setzt sie wieder auf den Fokus.
Dies wäre ziemlich schwierig in IE zu reproduzieren. Sie müssten die ganze Zeit abfragen, um zu überprüfen, wo sich der Cursor/die Auswahl befand, und sich an diese Position erinnern, wenn sie in einem Eingabeelement war, dann die Position für ein bestimmtes Element abrufen und sie wiederherstellen. Dies beinhaltet einige ziemlich mühsame Manipulation von 'document.selection.createRange()'.
Mir ist nichts in jQuery bekannt, das Ihnen dabei helfen könnte, aber vielleicht gibt es irgendwo ein Plugin?
Ich fühle mich schmutzig zu unterstützen. . . – Travis
Oh, IE Auswahl Handhabung kann viel böser als das bekommen! :-) – bobince
Nicht sicher, ob dies qualifiziert ... diese Frage ist mit jQuery getaggt. Aber, hey, das sollte funktionieren :) – Seb