Muhammad Tahir
Muhammad Tahir

Reputation: 2487

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

i am using following library for auto complete and mention username in my application. my question is that how can i trigger init: function from onClick of a anchor tag instead of writing in text area. any suggestion? Here is a function that i tried to write. here is the plugin 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
 });

Upvotes: 0

Views: 1128

Answers (2)

Venkata Krishna
Venkata Krishna

Reputation: 15112

Not sure this is the source of the problem but

$("a").on('click', '.tag_user_btn', function(event) { //WRONG This is wrong. jQuery documentation for .on()

Correct syntax $(parentSelector).on('click', 'childSelector', function()

Instead use (for ajax event handling)

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

or for non-ajax event handling

$('a.tag_user_btn').click(function(event) which is a shorthand for $('a.tag_user_btn').on('click', function(event))

Upvotes: 1

Eric
Eric

Reputation: 18922

If you look at the documentation (the "Methods"-part), the init() method is actually exposed on the instance of the plugin. Example:

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

Upvotes: 2

Related Questions