有没有办法在设置插件后更改插件中的默认值。例如。
var defaults = {
imageWidth : w,
imageHeight : h
};
稍后在代码中我想再次更改imageWidth值。
答案 0 :(得分:3)
也许,取决于插件。如果它看起来像这样:
(function() {
var defaults = { /* ... */ };
// Rest of the plugin goes here.
})();
然后你运气不好。但是,相当多的插件将其默认值发布为:
$.fn.plugin.defaults
其中plugin
是插件名称。如果默认值可以公开访问(或者如果您想破解插件以使其公开),那么您可以随时更改默认值。当然,新的默认值不适用于现有实例。
如果这是你自己的插件,那么我认为你的架构有点偏。 “全屏”与“指定的宽度和高度”配置应该是插件的选项,并将默认设置保留为合理的(其中“合理”一如既往地依赖于上下文)。然后你就这么说:
$(x).plugin({ fullscreen: true }); // Full screen
// or
$(y).plugin({ w: 11, h: 23 }); // Specific dimensions
您还可以使用$.fn.plugin.defaults
技巧,根据需要更改合理的默认值。