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代码没有找到标签的开头将在哪里开始,因此不会添加它。
我希望有人能帮助我,这开始让我疯狂!
感谢
里斯
为什么不给@添加到文本?您可以检查@name是否已经存在,然后添加否则。 – rcdmk 2012-04-22 16:39:46