2011-12-29 5 views
0

私はプラグインの作成者になり始めています。 1つの問題は、あなたが2つの数字を持つデフォルトを作りたいということです。そして私はそれらをコードに適用できる必要があります。私は何を意味ドラッグアンドドロッププラグインの開発

はこのようなものです:

var defaults = { 
numbers: [1, 2] 
} 

私はjQueryのチームはドラッグでそれをやった方法を好む:私がやりたいものです

$('#drag').draggable({ 
grid: [1, 100] 
}); 

。どんなアイデア?

答えて

1

これを行う一つの良い方法は、最初のオブジェクトに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をコピーします:

+0

ありがとうございました。 – Shawn31313

0

は、プラグインのコードを簡素化。

+0

なぜこれがダウン投票されたのですか? –