javascript - 将方法插入 jQuery 插件

标签 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.prototype 中,我似乎无法访问。就目前情况而言,我只是在控制台中收到“无法设置未定义的属性‘刷新’”。

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

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

这意味着我在工具提示器上的某个位置添加了刷新,但不是在它应该在的地方。

最佳答案

你能不能直接把它放在原型(prototype)上?

$.someplugin.someMethod = function(){}

关于javascript - 将方法插入 jQuery 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29345278/

相关文章:

javascript - tinymce 尝试在 remove() 之后保存

Javascript:两个 if typeof undefined 语句给出不同的结果

javascript - Jquery 选择器,我应该指定 html 标签的类型吗?

jquery - 删除 Flot 饼图中切片之间的白线

javascript - Google map 最大标记

javascript - 飞行前停止从 Firefox 到 Beego 服务器的 CORS 提取

jquery - 如何将垂直 mCustomScrollbar 添加到 twitter bootstrap 3 模态

javascript - dataTables - 仅在选定的行中过滤/搜索

javascript - jQuery 在自定义插件上实现销毁方法

javascript - setInterval 中的 JS 类方法不起作用