我正在使用以下模式编写一个 jquery 插件(因为我不想做 $("#element").myPlugin(),我没有对特定元素做任何事情......无论如何......
$.extend({
myPlugin: function(){
//some cool stuff
}
});
但我还需要一种方法让其他插件改变我的插件行为,我尝试执行以下操作,但遇到了一个奇怪的错误......
$.extend({
myPluginStyles: {
someStuff: {},
moreStuff: {},
}
});
$.extend({
myPlugin: function(options) {
this.style = $.myPluginStyles[options.style]; //options.style will contain either "someStuff" or "moreStuf"
}
})
现在,其他插件可以在 myPluginStyles 对象中添加新的“样式”..至少是这样的想法:
$.myPluginStyles.newStyle = {};
现在你可以做 $.myPlugin({style: 'newStyle'});
但我收到以下错误:
Uncaught TypeError: Property 'style' of object function (e,t){return new v.fn.init(e,t,n)} is not a function
提前致谢。