2015-03-30 2 views
0

Я хотел добавить refresh функцию в плагин JQuery, так что я могу сделатьВставить метод в JQuery плагин

$(selector).tooltipster("refresh") 

Я пытался использовать эту https://stackoverflow.com/a/4414356/123415, но без успеха. Это то, что я пытаюсь:

(function($) { 
    $.extend(true, $[ "fn" ][ "tooltipster" ].prototype, { 
     refresh: function() { 
      this._update(this.Content); 
     }, 
    }); 
})(jQuery); 

Для справки, код плагина объявляет _update внутри

(function ($, window, document) { 
    Plugin.prototype = { 
    _update: function() { 
     /* update code */ 
    } 
    } 
})(jQuery, window, document); 

Я пытаюсь расширить tooltipster Я думаю, я включил весь необходимый код выше хоть.

Проблема заключается в том, что методы плагина находятся внутри модуля Plugin.prototype, к которому я не могу получить доступ. Как бы то ни было, я просто получаю сообщение «Не могу установить обновление свойства« неопределенного »в консоли.

Update Если я бегу $.fn.tooltipster.prototype в консоли, я получаю

- $.fn.(anonymous function) {refresh: function} 
    + constructor: function() { 
    + refresh: function() { 
    + __proto__: Object 

Подразумевая, что я добавил обновление где-то на tooltipster, но не там, где это должно быть.

ответ

1

Можете ли вы не просто установить его прямо на прототипе?

$.someplugin.someMethod = function(){}

+0

Я получаю «Не удается установить свойство„обновление“неопределенных» – jcuenod

+0

Что вы пытаетесь установить обновилась дальше, вы можете разместить полный код? –

+0

Я расширяю tooltipster (https://github.com/iamceege/tooltipster/blob/master/js/jquery.tooltipster.js), и я пытаюсь добавить именно этот метод обновления. – jcuenod