2

だから私はこのプラグインhttps://github.com/podio/jquery-mentions-inputをコメントシステムに使用しています。すべて正常に動作しますが、機能を追加したいと思います。この機能は、リンク (返信) をクリックすると、カーソルがある位置のテキストエリアにユーザー名の言及/タグを追加することです。

これを行う方法を知っている人はいますか?

すでに 1 つのタグを追加した後 (@ 文字を記述)、メンションを追加することができました。リンクがクリックされたときのテキストエリアの初期化とカーソルの位置に問題があることがわかりましたが、それを機能させる方法がわかりません。

jquery ファイルに addReply 関数を追加しました。

// Public methods
return {
  init : function (options) {
    settings = options;

    initTextarea();
    initAutocomplete();
    initMentionsOverlay();
  },

  val : function (callback) {
    if (!_.isFunction(callback)) {
      return;
    }

    var value = mentionsCollection.length ? elmInputBox.data('messageText') : getInputBoxValue();
    callback.call(this, value);
  },

    addReply : function (id, text, type) {
       initTextarea();
       initAutocomplete();
       initMentionsOverlay();
       addMention(text, id, type);
    },

  reset : function () {
    elmInputBox.val('');
    mentionsCollection = [];
    updateValues();
  },

  getMentions : function (callback) {
    if (!_.isFunction(callback)) {
      return;
    }

    callback.call(this, mentionsCollection);
  }
};

そして、テキストエリアと同じページにあるこの小さなスクリプトで呼び出されます (値はテスト用です)。

$('.add-mention').click(function() {
  $('textarea.mention').mentionsInput('addReply',('Joris', 9, 'contact') );
});

テストした後、大きな問題は、@ がないと、jquery コードがタグの開始位置を見つけられないため、タグを追加しないように見えます。

誰かがこれについて私を助けてくれることを願っています、それは私を夢中にさせ始めています!!!

ありがとう
ヨリス

4

1 に答える 1

2

Joris - まだこれを理解していない場合は、これを見てください - https://github.com/podio/jquery-mentions-input/pull/37

于 2012-05-03T16:12:36.673 に答える