我有一个插件,在其中我有一个公共功能($ fn.myplugin.mypublicfunct)。我的目的是让mypublicfunct从myplugin之外的单独的.ajaxSuccess调用。因此想要一个公共职能。
场景:myplugin做它的事情...通过Ajax表单提交是不同的插件...当该插件执行其.ajaxSuccess时我想调用mypublicfunct但是能够使用myplugin的用户选项/默认值。
这有意义吗?我是否以正确的方式提出正确的问题?
我尝试了
var opts = $ .extend({},$ .fn.myplug.defaults,options);
在公共函数中并且未定义(或类似)的选项出错。我正在谷歌搜索风暴寻找一个例子,解决方案等等,我仍然得到了坚果。
答案 0 :(得分:1)
我首先要说的是,我是jQuery插件开发的相对新手。此外,这是我自己一直在努力的事情,所以对于一个好问题我来说是+1。
我倾向于将我的选项对象存储在所选元素的数据属性上(使用插件名称间隔名称):
var data = {
options: options,
otherData: otherData
};
$(this).data('myPlugin', data);
然后可以在公共函数中访问该对象,如下所示:
var options = $(this).data('myPlugin').options;
感觉有点笨拙,但它完成了这项工作。