Setzen Sie die Caret-Position direkt nach dem eingefügten Element in einem contentEditable div
Ich bin einfügen eines Elements in eine contentEditable div, aber der browser setzt die position des Cursors vor dem eingefügten element. Ist es möglich, den cursor direkt nach dem element eingefügt, so dass der Benutzer speichert die Eingabe, ohne zu re-justieren Sie die position des Cursors?
InformationsquelleAutor der Frage Elie | 2011-01-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der folgenden Funktion tun. DOM Level 2 Range-Objekte stellen Sie diese einfach in den meisten Browsern. Im IE, müssen Sie fügen Sie eine Marke ein element nach dem Knoten, den Sie sind, einfügen, bewegen Sie die Auswahl auf und dann entfernen Sie es.
Live-Beispiel: http://jsfiddle.net/timdown/4N4ZD/
Code:
Alternativ, Sie könnte meine Feingliedrige Bibliothek. Der entsprechende code würde es
InformationsquelleAutor der Antwort Tim Down
Wenn Sie einfügen einer leeren div -, p-oder span -, ich glaube, es muss "etwas" in der neu erstellten element für den Bereich greifen auf -- und um das caret-Zeichen drin.
Hier mein hack, das scheint zu funktionieren OK in Chrom. Die Idee ist einfach eine temporäre Zeichenfolge in das element, dann entfernen Sie es, sobald Sie die Einfügemarke in es.
InformationsquelleAutor der Antwort bob