これを行う一つの良い方法は、最初のオブジェクトに2つの以上のオブジェクトの内容をマージしている、$.extend
を使用することです:今
(function($) {
$.fn.foobar = function(options) {
var settings = {
numbers: [1, 2]
};
$.extend(settings, options);
/* continue with plugin code. */
alert(settings.numbers[0] + " " + settings.numbers[1]);
};
})(jQuery);
settings
は、ユーザーが指定したオプションの組み合わせで、 "デフォルト"オプション。詳細については、プラグインオーサリングチュートリアルのthis sectionを参照してください。
例:http://jsfiddle.net/2Djya/
P.S:プラグイン作業がjQueryUI sourceそのものである方法を考え出すための優れたリソース。
$.fn.yourPlugin = function(conf){
var config = $.extend({
someVar : 'default'
, foo : 'anotherDefault'
}, conf);
return this.each(function(){
// do stuff with $(this) and config
});
};
$.extend
がデフォルトを設定し、その作成したオブジェクトに渡されconf
からの任意のparamsをコピーします:
ありがとうございました。 – Shawn31313