2012-03-27 4 views
0

Grundsätzlich ist die Funktionalität, die ich versuche zu replizieren, das @ reply-System, da es hier auf StackOverflow funktioniert. Ich habe eine Liste von Kommentaren und möchte, dass der Benutzer @ eingeben kann und Vorschläge für Benutzernamen aus allen vorherigen Kommentaren sehen kann.Wie kann ich Autovervollständigung in einem Multiline <textarea> implementieren?

Ich fand nur Lösungen, die auf einfache <input type="text"> funktionieren, aber nicht auf einer Multilinie <textarea>.

Ich interessiere mich nicht wirklich für die Kompatibilität mit IE oder älteren Browsern.

Antwort

1

Im Grunde, was Sie tun möchten, ist ein KeyUp Event-Handler an die TextArea und in diesem Handler anhängen, die Sie fangen müssen, wenn die Tastenkombination Strg + 2 gedrückt wird. Wenn Sie dies bemerken, müssen Sie ein Popup mit Ihrer Kommentarliste anzeigen. Wenn ein Kommentar ausgewählt (angeklickt) wird, fügen Sie den ausgewählten Kommentar an der Cursorposition des Textfelds ein. Hier ist ein gutes Beispiel für den letzten Teil - http://alexking.org/blog/2003/06/02/inserting-at-the-cursor-using-javascript. Alles vorher ist ziemlich einfach.

+0

Hier ist ein Beispiel, das ein bisschen jünger ist - http://stackoverflow.com/questions/1064089/inserting-a-text-where-cursor-is-using-javascript-jquery. – tjscience

Verwandte Themen