2012-04-22 67 views
2

因此,我使用這個插件https://github.com/podio/jquery-mentions-input爲我的評論系統,一切工作正常,但我想添加一個函數。這個功能是當我點擊一個鏈接(回覆)時,它會在textarea中光標所在的位置添加用戶名的提及/標記。jquery提到輸入:點擊鏈接添加標籤

有沒有人有一個想法如何做到這一點?

我已經能夠添加一個提到一次,我已經添加了一個標籤(寫@字符)。我發現textarea的初始化和點擊鏈接時光標的位置有問題,但我似乎無法弄清楚如何完成這項工作。

我添加了一個addReply函數給我的jquery文件。

// 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代碼沒有找到標籤的開頭將在哪裏開始,因此不會添加它。

我希望有人能幫助我,這開始讓我瘋狂!

感謝
里斯

+0

爲什麼不給@添加到文本?您可以檢查@name是否已經存在,然後添加否則。 – rcdmk 2012-04-22 16:39:46

回答