所以我在我的评论系统中使用这个插件https://github.com/podio/jquery-mentions-input,一切正常,但我想添加一个函数。这个函数是当我点击一个链接(回复)时,它会在光标位置的textarea中添加用户名的提及/标记。
有没有人知道如何做到这一点?
一旦我添加了一个标签(写下@字符),我就可以添加一个提及。我发现textarea的初始化和点击链接时光标的位置存在问题,但我似乎无法弄清楚如何使其工作。
我在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);
}
};
使用与textarea位于同一页面的小脚本调用它(值仅用于测试)
$('.add-mention').click(function() {
$('textarea.mention').mentionsInput('addReply',('Joris', 9, 'contact') );
});
经过测试后,大问题看起来没有@,jquery代码找不到标签开头的起点,因此不添加它。
我希望有人可以帮我这个,它开始让我疯狂!!!
感谢
里斯
答案 0 :(得分:2)
Joris - 如果您还没有想出这个,请看看这个 - https://github.com/podio/jquery-mentions-input/pull/37