jQuery插件默认值

时间:2011-07-30 05:06:07

标签: jquery jquery-plugins

有没有办法在设置插件后更改插件中的默认值。例如。

var defaults = {
 imageWidth : w,
 imageHeight : h
};

稍后在代码中我想再次更改imageWidth值。

1 个答案:

答案 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技巧,根据需要更改合理的默认值。