2

Facebookのように、ステータス更新テキストボックスを備えたソーシャルネットワーキングWebサイトがあります。ただし、ユーザーが新しいステータスを入力するときに@記号を入力できるようにしたいと思います。これにより、友達のプロファイルのオートコンプリートオプションが表示されます(これもFacebookと同じです)。

ユーザーが1つを選択すると、その個人プロファイルへのリンクとしてステータスに含まれる必要があります。

fcbkCompleteプラグインを含むjqueryの多くのオートコンプリートプラグインを見てきましたが、これらはJSONデータからアイテムを選択することのみを許可し、独自のテキストも含めません。

たとえば、次のように入力したい場合があります。「今日、@ Paul Hinettのプロフィールを見ていて、彼が@Jackと友達であることに気づきました。」

2つのプロファイル名はリンクである必要があります。

誰かが助けてくれることを願っています!

4

2 に答える 2

0

このプラグインは部分的な解決策のようです: https://github.com/loopj/jQuery-Tokenizing-Autocomplete-Plugin

于 2011-01-06T17:03:13.777 に答える
0

ステータス作成ボックスで友人を参照するときに Facebook で作成されるトークンは、非公式にメンションまたはタグとして知られています。

これらのものを作成するための既存の堅牢なソリューションを探しているようです。その場合は、本当にあなたが管理しているMentionatorをチェックしてください。

一方、そのようなユーティリティがどのように作成されるかに興味がある場合は、読み進めてください。

「メンション」管理ユーティリティには、次の 3 つのコンポーネントがあります。

  1. Autocomplete モジュール: 文字列を指定して、メンションの作成に使用できるアイテムのセットを取得して表示するコンポーネント。

  2. メンション追跡モジュール: メンション関連データの追跡を担当するコンポーネント。ユーティリティが添付されている入力要素のテキストのすべての変更を通じて、各言及の表面的および実質的な (存在する場合) 値と同様に、最低限の場所を追跡する必要があります。

  3. メンション視覚差別化モジュール: ユーティリティが添付されている入力要素内の残りのテキストからメンション テキストを区別する役割を担うコンポーネント*

これらの各モジュールがコード的にどのように見えるかを知りたい場合は、Mentionator のソース コードを参照してください。これは、よく構造化されていて、簡単に理解でき、豊富なコメントが付いています!**

* Facebook のこのような機能の実装では、ステータスが作成されている間はメンションがリンクに反映されないことに注意することが重要です。代わりに、ステータスのテキストが、ステータス内の各言及の場所を指定する (場合によってはインラインの) データと共に Facebook のサーバーに送信されます。ステータスがサーバーからユーザーに配信される場合、前述の位置データを使用して、「リンクされた」言及テキストを含むテキストのバージョンが作成されます。

**Mentionator のオートコンプリート モジュールは jQuery UI Autocomplete ウィジェットであり、そのソースは Mentionator には含まれていません。

于 2016-07-02T22:15:28.840 に答える