The*_*ile 6 jquery jquery-plugins
我知道你可以用这样的公共默认值创建一个插件:
(function($){
$.fn.hilight = function(options) {
var opts = $.extend({}, $.fn.hilight.defaults, options);
this.css(opts);
};
$.fn.hilight.defaults = {
foreground: 'red'
};
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
然后我可以通过以下方式更改外部的默认值:
$.fn.hilight.defaults.foreground='blue';
Run Code Online (Sandbox Code Playgroud)
我的问题是如何使用$ .fn.extend()语法完成此操作:
(function($){
$.fn.extend({
hililght: function(options){
var defaults={foreground: 'red',}
var opt=$.extend(defaults,options);
}
});
})(jQuery)
Run Code Online (Sandbox Code Playgroud)
我怎样才能更改多个默认值?
你可以这样做:
(function($){
$.fn.extend({
hilight: function(options){
var opt=$.extend(defaults,options);
}
});
$.extend($.fn.hilight, {defaults: {
foreground: 'red'
}});
})(jQuery)
Run Code Online (Sandbox Code Playgroud)
但没有多大意义.$.fn.extend仅当您有多个要扩展的属性时才有用,但您只有hilight.坚持你的第一个例子,它更具可读性和(略微)更高效.
jQuery的extend功能在第二个问题上派上用场,关于更改多个默认值.这是extend真正的设计:
$.extend($.fn.hilight.defaults, {
foreground: "red",
background: "yellow",
height: 100
// and so on...
});
Run Code Online (Sandbox Code Playgroud)