Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   jQuery: Что лучше использовать docReady или $(function() { code }); ? (https://javascript.ru/forum/events/19468-jquery-chto-luchshe-ispolzovat-docready-ili-%24-function-%7B-code-%7D-%3B.html)

artnik 05.08.2011 13:00

jQuery: Что лучше использовать docReady или $(function() { code }); ?
 
Раньше всегда пользовался $(document).ready(); событием. Сейчас понял что можно использовать
(function() {
code
})();

работает вроде нормально и обрабатывается браузером сразу, в отличие от первого.
Я и раньше замечал что подобным методом пользуються при создании плагинов.
В довесок можно добавить и noConflict
(function($) {
code
})(jQuery);

Вобщем какой способ использовать лучше?

Sweet 05.08.2011 13:08

У вас в голове бардак, раз вы синее с теплым сравниваете.

Octane 05.08.2011 13:11

jQuery разжижает моск

artnik 05.08.2011 13:58

Цитата:

Сообщение от Sweet (Сообщение 117428)
У вас в голове бардак, раз вы синее с теплым сравниваете.

Раз у вас все так упорядочено в мозгу то подсказали бы в чем отличие)
Может я не совсем так объяснил. У меня идет обычный js файл с функциями типа click, each, change и тп. Нормально ли оборачивать это все дело не в докРеди а в функцию?

Octane 05.08.2011 14:12

$(…).ready — это кросс-браузерная реализация события DOMContentLoaded.

Другими словами, ты спрашиваешь: "нормально ли запускать код не по событию, а сразу?". Зависит от ситуации.

artnik 05.08.2011 14:26

Насколько я понял, домРеди запускается после всех скриптов, для того чтобы загрузить сначала все нужные библиотеки для работы данного js файлика, да? Но у меня почему-то работает даже когда этот файл я подключаю перед всеми библиотеками в head. То есть сначала загружается jquery.js потом мой main.js а потом уже и остальные плагины которые используются в main.js

trikadin 06.08.2011 02:47

Потому что синтаксис вида
(function(){/*code*/})()
никоим образом не зависит от jquery и вообще любых подключаемых библиотек.

Про ready читайте тут. Про то, что вы обнаружили - тут.

devote 06.08.2011 14:12

$(function(){
   // is DOM Ready!
});


Часовой пояс GMT +3, время: 01:00.