Erhalten Sie Caret-Position in contentEditable div
Ich bin der Suche nach Tonnen von guten, crossbrowser anwers auf, wie, um den cursor oder caret-position in eine contentEditable DIV, aber keiner auf, wie man oder seine position...
Was ich will zu tun ist, wissen die position des Cursors innerhalb dieses div-Element, auf keyup.
So, wenn der Benutzer text eingeben, ich kann in jedem Punkt kennen, dessen cursor-position innerhalb der div.
EDIT: ich bin auf der Suche nach der INDEX innerhalb der div-Inhalt (text), nicht die cursor-Koordinaten.
<div id="contentBox" contentEditable="true"></div>
$('#contentbox').keyup(function() {
//... ?
});
InformationsquelleAutor der Frage Bertvan | 2010-10-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Caret.js
Holen Sie sich die caret-Position und offset von text-Feld
https://github.com/ichord/Caret.js
demo:
http://ichord.github.com/Caret.js
InformationsquelleAutor der Antwort J.Y Han
Hinweis: das range-Objekt seiner selbst sein kann in einer Variablen gespeichert und können erneut ausgewählt zu jeder Zeit, es sei denn, der Inhalt des contenteditable div ändern.
Referenz für IE 8 und älter:
http://msdn.microsoft.com/en-us/library/ms535872(VS.85).aspx
Referenz für standards (alle anderen) Browser:
https://developer.mozilla.org/en/DOM/range (der mozilla docs, aber code funktioniert in chrome, safari, opera und ie9)
InformationsquelleAutor der Antwort Nico Burns
Dieser arbeitet für mich:
den calling line hängt davon ab, Ereignistyp, für Schlüssel-Ereignis verwenden:
Maus-Ereignis verwenden:
auf diese beiden Fälle, die ich kümmern uns um Bruch Linien, indem die Ziel-index -
InformationsquelleAutor der Antwort Jonathan R.
InformationsquelleAutor der Antwort Nishad Up