Wie markieren Sie Freunde in Facebook-status-update im Feld (textarea)?
In Facebook-status-update-box, wenn ich @ und beginnen Sie mit der Eingabe, und wählen Sie einen Namen, sagen wir, Steven Gerrard, aus der Freunde-Liste vorgeschlagen, durch fb, mein Freund der name hervorgehoben wird in die textarea wie diese
Ich habe mit Firebug und es gibt nur
- ein div.der highlighter enthält Art formated text (Steven Gerrard ist innerhalb der b-tags)
- eine textarea innerhalb einer div.uiTypeahead. Nichts Interessantes, die ich finden konnte
- und eine versteckte Eingabe, enthält den eigentlichen text, der geschrieben wird: @[100001915747xxx:Steven Gerrard] ist genial
Was ist der geheime trick dahinter? Normale rich-text-Editoren wie ckeditor haben in der Regel ein iframe zur Anzeige der text-und einem tatsächlichen textarea, um die original-Inhalte. Aber in diesem Fall, ich sehe nichts. Bitte jemand vergossen ein paar Lichter?
Ich würde gerne etwas machen, aber haben keine Ahnung, wo zu beginnen. Auch, wenn ich möchte, dass die Anzeige eines kleinen Daumen neben meiner Freundin den Namen, ist es überhaupt möglich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, wie es funktioniert:
Ich geschrieben habe, ein Beispiel, basierend auf jquery, so dass Sie können es selbst ausprobieren, ohne allzu viel code zu analysieren.
Hier ist ein Beispiel-code können Sie einfach kopieren-einfügen-speichern und ausprobieren:
Dieser Beispielcode wird markieren Sie einen bestimmten Satz von Wort, hier: "Hallo" und "Welt".
Ich werde lassen Sie es anpassen, wie Sie wollen.
Lassen Sie mich wissen, wenn Sie irgendwelche Fragen haben oder wenn Sie Hilfe benötigen mit diesem code.
<textarea>
und<input>
Elemente und vieles mehr. Wenn plugins sind dein Ding, check it out: github.com/mistic100/jQuery-highlightTextareaNach überprüfung der Art der von Facebook tun, sehe ich, dass der text auf dem Bildschirm angezeigt wird:
Überspannen, ist in einer Tabelle (mit vielen div-container), die Stil entsprechend.
Also ich denke, dies ist der Prozess:
Wenn Sie in das Feld eingeben, Facebook hat eine textarea, die erfassen, was Sie geben, aber die javascript verwenden, um zu zeigen, das typisierte HTML-Inhalt in einer Tabelle.
Wenn Sie uns, die formatierte Inhalte in einem versteckten input (die Sie bereits vor Ort in der Frage) vorgelegt bekommen. Es ist wie "@[100001915747xxx:Steven Gerrard] ist genial".
Wenn die formatierte Nachricht senden, ist es in der Datenbank gespeichert. Jedesmal, wenn die Seite geladen wird, von der die gespeicherte Nachricht der HTML-Code zusammengesetzt und zurückgeben.
, Um die ähnliche Wirkung haben, Sie können jede jQuery autocomplete plugin.
Beispielcode mit dem beschriebenen Verfahren von Julien am: http://jsfiddle.net/SBBZm/
Wörter beginnen mit einem Großbuchstaben hervorgehoben sind die in der Beispiel.