Wenn ich in der Facebook-Statusaktualisierung @ tippe und anfange zu tippen und einen Namen wähle, sagen Steven Gerrard, von der von fb vorgeschlagenen Freundesliste, wird der Name meines Freundes im Textfeld wie folgt hervorgehoben
Ich habe es mit Firebug überprüft und es gibt nur
Was ist der geheime Trick dahinter? Normale Rich-Text-Editoren wie ckeditor haben normalerweise einen IFrame, um den Text anzuzeigen, und einen eigentlichen Textbereich, um den ursprünglichen Inhalt beizubehalten. Aber in diesem Fall sehe ich nichts. Irgendjemand bitte Licht?
Ich möchte so etwas machen, habe aber keine Ahnung, wo ich anfangen soll. Auch wenn ich neben dem Namen meines Freundes einen kleinen Daumen zeigen möchte, ist das überhaupt möglich?
So funktioniert es:
Ich habe ein schnelles Beispiel basierend auf jquery geschrieben, damit Sie es selbst ausprobieren können, ohne zu viel Code zu analysieren.
Hier ist ein Beispielcode, den Sie einfach kopieren, einfügen und speichern können:
Dieser Beispielcode hebt eine definierte Menge von Wörtern hervor, hier: "Hallo" und "Welt".
Ich werde es Ihnen anpassen lassen, wie Sie wollen.
%Vor%Lassen Sie es mich wissen, wenn Sie Fragen haben oder Hilfe bei diesem Code benötigen.
Nachdem ich den Weg von Facebook überprüft habe, sehe ich, dass der auf dem Bildschirm angezeigte Text:
ist %Vor%Dieser Bereich wird in eine Tabelle (mit vielen div-Containern) eingefügt, die entsprechend formatiert ist.
Also ich denke, das ist der Prozess:
Wenn Sie das Feld eingeben, hat Facebook eine Textfläche, die erfasst, was Sie eingeben, aber Javascript verwenden, um den typisierten HTML-Inhalt in einer Tabelle anzuzeigen.
Beim Absenden wird der formatierte Inhalt in einer versteckten Eingabe (die Sie bereits in der Frage gefunden haben) gesendet. Es ist wie "@ [100001915747xxx: Steven Gerrard] ist super".
Wenn die formatierte Nachricht gesendet wird, wird sie in der Datenbank gespeichert. Jedes Mal, wenn die Seite geladen wird, wird aus der gespeicherten Nachricht der HTML-Code zusammengesetzt und zurückgegeben.
Um einen ähnlichen Effekt zu erzielen, können Sie jedes jQuery-Autocomplete-Plugin .
Tags und Links facebook textarea rich-text-editor