В моем приложении я использую
$(document).ready()
Каково различие между этим и
$(document).onload()
готов
запускается, когда только DOM становится готовым, в то время как onload
запускается, когда все ресурсы страницы, включая DOM , изображения, фреймы и т. Д. Загружены.
См .:
$ (document) .ready vs. $ (window) .load
Обратите внимание , что ready
относится к jQuery, а не к исходному javascript, поэтому я предполагаю, что вы это знаете, и таким образом сравнение кажется логичным.
.ready() вызывается, как только код страницы загружен и разобран.
.onload() вызывается, когда все изображения/видео/etc загружены.
Используйте .ready() для лучшей работы jQuery, если у вас нет особых причин ждать до onload().
.ready()
Функция, выполняемая после готовности DOM.
-Из jQuery API Docs
.onload()
Событие onload происходит, когда агент пользователя завершает загрузку окна или всех кадров в FRAMESET.
Все объяснено в jquery docs.
Первое, что делает большинство Javascript программистов на Javascript, это добавление некоторый код в свою программу, подобный
window.onload = function(){ alert("welcome"); }
Внутри которого находится код, который вы хотите запустить прямо когда страница загружается. Однако возникает проблема, заключающаяся в том, что код Javascript не запускается до тех пор, пока все изображения закончат загрузку (это включая рекламные баннеры). Причина в том, что использования window.onload в первую очередь заключается в том, что HTML "документ" еще не еще не закончил загрузку, когда вы впервые пытаетесь запустить свой код.
Чтобы обойти обе проблемы, jQuery имеет простой оператор, который проверяет документ и ждет, пока он не будет готов к для манипуляций, известное как событие ready событие:
В качестве дополнения (и как предложил yahoo) я всегда убеждаюсь, что мои скрипты jquery/js включены непосредственно перед закрывающим тегом body. Таким образом, вам не нужно беспокоиться о загрузке окна или функции jquery ready.