将方法插入jQuery插件

时间:2015-03-30 11:40:09

标签: javascript jquery jquery-plugins

我想在jQuery插件中添加refresh函数,以便我可以

$(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的方法都在Plugin.prototype中,我似乎无法访问。就目前而言,我只是在控制台中“无法设置未定义的属性'刷新”。

更新如果我在控制台中运行$.fn.tooltipster.prototype,我会

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

暗示我已经在工具提示器的某个地方添加了刷新功能,但并未将其添加到原来的位置。

1 个答案:

答案 0 :(得分:1)

你能不能直接在原型上直接设置?

$.someplugin.someMethod = function(){}