構築しているアプリケーションに@mentionシステムを実装しようとしていますが、いくつかの問題が発生しています。
私の最初のアプローチはこれです:
textarea / inputが@mentionifiedされた後、2つの非表示の入力を作成します。1つ目は、検索対象のテキストを保持します(オートコンプリートの場合)。2つ目は、@ [objectId:text]の形式で見つかったメンションを保持します。
これは、人が考えるよりも実践するのが難しいです。誰かが@記号を押すと、後続のテキストをオートコンプリートにフィードし始める必要があります。@記号とカーソルの間のテキストのみを取得する必要があります。入力の他の部分にカーソルをクリックして何かを編集してから、戻って@テキストを編集するとどうなりますか。スクリプトは、ユーザーが@記号の直後のテキストを更新しているときにのみオートコンプリートを検索できるように、十分にスマートである必要があります。
これを実装するための最良の方法についての考えは?すでにこれを行っているプラグインはありますか?