我正在创建一个小部件,并想给它defaults
个对象一些值。我希望用户允许更改它们然后正常创建小部件(因此将使用新的默认值)。但是用户访问默认的方式是什么?
示例:
// separate file, create widget
$.widget("namespace.myWidget", {
defaults: {
hello: "world"
}
}
// index.html
// then user should be able to do something similar
$.namespace.myWidget.defaults = { goodbye: "World" };
// or
$.namespace.myWidget.defaults.hello = "Dog";
// and then create widget normally
$(".selector").myWidget();
答案 0 :(得分:1)
您可以将defaults
对象直接附加到您定义的小部件:
(function ($) {
$.widget("namespace.myWidget", {
_init: function () {
var options = $.extend({}, $.namespace.myWidget.defaults, this.options);
/* Do something with options.hello */
}
});
/* Create the `defaults` object */
$.extend($.namespace.myWidget, {
defaults: {
hello: 'world'
}
});
}(jQuery));
然后,窗口小部件的用户可以修改默认值:
$.namespace.myWidget.defaults.hello = 'hello';