据我所知,您可以使用以下公共默认值创建一个插件:
(function($){
$.fn.hilight = function(options) {
var opts = $.extend({}, $.fn.hilight.defaults, options);
this.css(opts);
};
$.fn.hilight.defaults = {
foreground: 'red'
};
})(jQuery);
然后我可以通过以下方式更改外部默认值:
$.fn.hilight.defaults.foreground='blue';
我的问题是如何使用$ .fn.extend()语法完成此操作:
(function($){
$.fn.extend({
hililght: function(options){
var defaults={foreground: 'red',}
var opt=$.extend(defaults,options);
}
});
})(jQuery)
如何更改多个默认值?
答案 0 :(得分:5)
你可以这样做:
(function($){
$.fn.extend({
hilight: function(options){
var opt=$.extend(defaults,options);
}
});
$.extend($.fn.hilight, {defaults: {
foreground: 'red'
}});
})(jQuery)
但没有太多意义。 $.fn.extend
仅在您有多个要扩展的属性时才有用,但您只有hilight
。坚持你的第一个例子,它更具可读性和(略微)更高效。
jQuery的extend
功能在第二个问题上很方便,关于更改多个默认值。这就是extend
的真正设计目标:
$.extend($.fn.hilight.defaults, {
foreground: "red",
background: "yellow",
height: 100
// and so on...
});