明らかにするモジュールパターンを使用して、「名前空間」に整理します。一部の初期化コード (jQuery Validation プラグイン用) は、ドキュメントのロード後にのみ呼び出す必要があります。
Namespace.Foo.Bar = (function($) {
var init = function() {
$(function() { // <--- within DOM ready wrapper it never runs
$.validator.setDefaults({
// ...
});
});
(function(){ // <--- but within an IIFE it will run
$.validator.setDefaults({
// ...
});
})();
};
init();
// public functions/variables
return {
};
}(jQuery));
ビットが DOM 対応ラッパー内にある場合$.validator.setDefaults
は呼び出されませんが、IIFE 内にある場合は呼び出されます。
なんで?DOM の準備ができた後に実行するモジュール コードをマークする「最良の」方法は何ですか?
編集:サンプルコードを問題のより具体的なものにしました