createTextRange - merkwürdiges Verhalten im IE8
Ich habe Folgendes problem. In der text-Eingabe eingereicht, die als eine auto-completer einige der Vorschläge, die es gibt sind welken, als es. Das problem kommt, wenn Sie das Spielfeld verlassen. Im IE wird der text cursor auf das Ende der angegebenen Zeichenfolge, so können Sie tatsächlich sehen, ist nur der Letzte Teil davon. So habe ich den code Balg um dies zu beheben und es funktioniert unter IE6, aber in IE8 funktioniert das nicht, das Feld ist immer aktiviert und ich kann nicht wählen Sie alles, was auf der Seite.
Meine Frage ist, was ist der richtige Weg, um den cursor am Anfang des Eingabefeldes, nachdem ich es verlassen?
$('#myAutocompleter').blur(function(){ textRange = diese.createTextRange(); textRange.collapse(true); textRange.select(); });
(Der verwendete code ist geschrieben in jQuery.)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube was du suchst sind die
.moveStart
und.moveEnd
Methoden der text-Bereich:(Getestet, funktionsfähig in IE8)
Ich bin mir nicht sicher, ob ich verstehe Ihre Frage, aber DH hat seinen eigenen Satz von Methoden für den Umgang mit text Auswahl auf einer Seite, so dass, warum es verhält sich anders.
Schauen Sie hier für ein tutorial:
http://www.quirksmode.org/dom/range_intro.html
Und hier für Kompatibilität:
http://www.quirksmode.org/dom/w3c_range.html
Wenn das nicht Ihr problem, versuchen Sie ein mouseup-oder click-Ereignis überprüfen Sie das innere Unschärfe und setzen Sie die Auswahl-code da? Vielleicht werde verursachen, die Auswahl zu verschieben, Weg von der input-Feldes, bevor Sie es platzieren, wo die Auswahl ist.
Ich hatte eine ähnliche situation, wo ich wollte sehen, oben/unten etwas je nach Dinge wie diese.
Ich verwendet die jQuery scrollTo-plugin
EDIT 1:
Ich benutze es auf diesem Gebiet:
mit diesem code: