Мы используем шаблон раскрывающего модуля для организации материала в «пространства имен». Некоторая часть кода инициализации (для плагина проверки jQuery) должна вызываться только после загрузки документа.Как получить код показанного модуля только для запуска после DOM?
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));
$.validator.setDefaults
Когда бит в готовом обертке DOM, он никогда не вызывается, но когда он находится в пределах IIFE то она дозвонилась.
Почему? Что такое «лучший» способ отметить код модуля для запуска после DOM?
правок из образца кода нагляднее проблемы
Как вы знаете, что он никогда не работает? Он должен работать, когда вы отправляете сообщения. Могли бы вы сделать демо? – Bergi