Ich versuche Autocomplete in einem Textbereich zu implementieren (ähnlich wie Ссылка ).
>Was ich versuche zu tun ist, wenn ein Benutzer einen bestimmten Satz von Zeichen eingibt (sagen wir einfügen :), dann bekommen sie ein AJAX gefülltes div mit möglichen auswählbaren Übereinstimmungen.
In einem normalen Textfeld ist das natürlich einfach, aber in einem Textbereich muss ich das div an der richtigen Stelle auf dem Bildschirm basierend auf dem Cursor einblenden können.
Kann jemand irgendeine Richtung geben?
Danke, -M
Das Implementieren einer Autovervollständigung in einem Textbereich ist nicht so einfach. Ich habe ein jquery-Plugin implementiert, das das tut, und ich musste einen Klon des texarea erstellen, um zu erraten, wo sich der Cursor im Textbereich befindet. Es funktioniert, aber es ist nicht perfekt.
Sie können es hier überprüfen: Ссылка
Ich hoffe, es hilft.
eine hässliche Lösung:
für zB: benutze document.selection ...
für ff: Benutze ein Pre-Behind-Textarea, füge Text vor den Cursor ein, setze ein Marker-HTML-Element dahinter (cursorPos) und erhalte die Cursor-Position über dieses Marker-Element
Hinweise: | Code ist hässlich, Entschuldigung dafür | pre und textarea font müssen gleich sein | Opazität wird zur Visualisierung verwendet Es gibt keine automatische Vervollständigung, nur ein Cursor folgt div hier (wie Sie in Textarea eingeben) (ändern Sie es nach Ihren Bedürfnissen)
%Vor%Tags und Links autocomplete cursor-position textarea