jQuery の拡張機能を作成しようとしています。これにより、文字列でメソッドを渡し、これらのメソッドを指定された要素に適用できます。ただし、この方法でメソッドを呼び出すと、メソッドが呼び出されたときに最初に設定されたオプションがどのように決定されるのか理解できません。
これを考慮してください (例として jQuery UI を使用):
$('#foo').datepicker({ someoption: true });
$('#foo').datepicker('setDate','10/10/2013');
2 番目の呼び出しでも、何someoption
が設定されているかをどのように知るのでしょうか?
たとえば、 がsomeoption
だったdateFormat
場合、datepicker は、指定された形式に一致するように、指定された日付の形式を自動的に変更しformatDate
ますformatDate
。
これがどのように達成されるかを確認できる唯一の方法は次のとおりです(明らかにいくつかの詳細が欠けています):
var datepickers = new Array();
$.fn.datepicker = datepicker;
function datepicker(options){
// Get the selector somehow
var selector = somefunction($(this));
// Save the options to the datepickers array
// for the given selector
datepickers[selector] = options;
}
これはこれを達成するための正しい方法ですか?もしそうなら、どうやってセレクターを取得し、それは信頼できますか (この部分の潜在的な解決策はこちら)?