从外部单击事件调用 jQuery 插件内的函数

call a function inside a jQuery plugin from outside on-click event

我正在使用以下库自动完成并在我的应用程序中提及用户名。我的问题是我如何触发 init: 从锚标记的 onClick 函数而不是在文本区域中写入。有什么建议吗?这是我尝试编写的函数。 这是插件 http://podio.github.io/jquery-mentions-input/

$("a").on('click', '.tag_user_btn', function(event) {
       event.preventDefault();
       var txtPost = $(this).parents('.post-comment').find('textarea');
       txtPost.val(txtPost.val()+" @a").focus().init();//call initilize function of library
 });

如果您查看文档("Methods" 部分),init() 方法实际上是在插件实例上公开的。示例:

var mention = $('textarea.mention').mentionsInput({}); // Apply the plugin
mention.init(); // call the init() method

不确定这是问题的根源,但

$("a").on('click', '.tag_user_btn', function(event) { //WRONG 这是错误的。 jQuery documentation for .on()

语法正确$(parentSelector).on('click', 'childSelector', function()

改为使用(用于 ajax 事件处理)

$(document).on('click', 'a.tag_user_btn', function(event) {

或非ajax事件处理

$('a.tag_user_btn').click(function(event) 这是一个 shorthand $('a.tag_user_btn').on('click', function(event))