更正 jQuery 插件中的扩展用户选项
Correct extend user option in jQuery plugin
有 jQuery 插件示例,用户可以在其中设置自己的选项
(function( $ ){
var options = {
opt1: val1,
opt2: val2,
opt3: val3
};
var methods = {
init : function( options ) {
var option = $.extend({
opt1: val11
}, options);
},
show : function( ) {
// IS
},
hide : function( ) {
// GOOD
},
update : function( content ) {
// !!!
}
};
$.fn.tooltip = function( method ) {
// Method calling logic
if ( methods[method] ) {
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments );
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.tooltip' );
}
};
})( jQuery );
在这种情况下,我如何在其他方法(显示、隐藏等)中调用选项?这是正确的代码?
由于 longest options
变量定义在 methods
变量之前,您可以使用点符号来获取选项。 (例如 options.opt1
)。
有 jQuery 插件示例,用户可以在其中设置自己的选项
(function( $ ){
var options = {
opt1: val1,
opt2: val2,
opt3: val3
};
var methods = {
init : function( options ) {
var option = $.extend({
opt1: val11
}, options);
},
show : function( ) {
// IS
},
hide : function( ) {
// GOOD
},
update : function( content ) {
// !!!
}
};
$.fn.tooltip = function( method ) {
// Method calling logic
if ( methods[method] ) {
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments );
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.tooltip' );
}
};
})( jQuery );
在这种情况下,我如何在其他方法(显示、隐藏等)中调用选项?这是正确的代码?
由于 longest options
变量定义在 methods
变量之前,您可以使用点符号来获取选项。 (例如 options.opt1
)。