Wie man den Cursor zum Ende der Entity bewegt, die zufrieden ist
Ich brauche zu bewegen Einfügemarke zum Ende contenteditable
Knoten wie auf Gmail notes-widget.
Lese ich threads auf StackOverflow, aber diese Lösungen basieren auf der Verwendung-Eingänge und-Sie funktioniert nicht mit contenteditable
Elemente.
InformationsquelleAutor der Frage avsej | 2009-07-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es auch ein anderes problem.
Den Nico Brennt's Lösung funktioniert, wenn der
contenteditable
div nicht enthalten andere Elemente mehrzeilig.Zum Beispiel, wenn ein div enthält andere divs, und diese anderen divs enthalten andere Sachen im inneren, der auftreten konnte, einige Probleme.
Um Sie zu lösen, habe ich angeordnet, die folgende Lösung, die eine Verbesserung der Nico's:
Verwendung:
In dieser Weise, wird der cursor ist sicherlich positioniert am Ende des letzten Elements, schließlich verschachtelt.
EDIT #1: um zu allgemeineren while-Anweisung sollten überlegen, auch alle anderen tags, die nicht die text enthalten. Diese Elemente heißen leere Elementeund in diese Frage es gibt einige Methoden auf, wie um zu testen, ob ein element ist ungültig. Also, unter der Annahme, dass es eine Funktion namens
canContainText
zurückgibttrue
wenn das kein argument ist ungültig element der folgende code-Zeile:sollte ersetzt werden mit:
EDIT #2: Der obige code ist komplett aktualisiert, mit allen Veränderungen beschrieben und diskutiert
InformationsquelleAutor der Antwort Vito Gentile
Geowa4 die Lösung für ein textarea, aber nicht für eine contenteditable-element.
Diese Lösung ist für das verschieben der Einfügemarke an das Ende des contenteditable-element. Es sollte funktionieren in allen Browsern, die Unterstützung der contenteditable.
Es kann verwendet werden code ähnelt:
InformationsquelleAutor der Antwort Nico Burns
Es möglich ist, setzen Sie den cursor an das Ende durch die Reihe:
InformationsquelleAutor der Antwort Andrew