Ich schreibe eine Funktion zum Parsen von Wörtern inline in einem contenteditable div und ersetzen Tags (@ ..., # ...) mit einem Anker-Tag. Ich habe es auf das Key-up-Ereignis gefeuert, und es hat perfekt funktioniert. Das Problem war, dass ich die Tags nicht nur ersetzen wollte, nachdem der Benutzer den Space gedrückt hat, sondern auch, nachdem sie ein Nicht-Wort-Zeichen getroffen haben. Da das keyup-Ereignis nur auf die gedrückte Taste und nicht auf das tatsächlich eingegebene Zeichen zugreifen kann, konnte ich keine Interpunktionszeichen erkennen.range.toString() trunkiert letzte char in Javascript keypress Ereignis
Alles, was ich getan habe, war auf das Tastendruckereignis zu ändern, und jetzt meine Funktion lässt das letzte Zeichen des Tags beim Erstellen des Ankers. Hier ist mein Code: http://jsfiddle.net/jwoah12/CcwSt/115/.
WordStart und WordEnd scheinen korrekte Werte zu haben, aber j.toString() erzeugt das falsche Ergebnis.
Danke,
Jared
Danke! Dies macht den Trick. Allerdings möchte ich, wenn möglich, gar nicht erst keyup verwenden müssen, denn wenn Sie zu schnell tippen, wird das keyup-Ereignis manchmal übersehen. – Jared