Почему $(window).load выполняется раньше, чем $(document).ready?

Пользователь

от quinton.prosacco , в категории: JavaScript , год назад

Почему $(window).load выполняется раньше, чем $(document).ready?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от linnea , год назад

@quinton.prosacco 

Это неправда. В действительности, $(document).ready выполняется раньше, чем $(window).load.


Когда браузер загружает HTML-страницу, он обрабатывает ее поэтапно. Сначала он строит DOM-дерево, затем он загружает и обрабатывает все ресурсы на странице, такие как изображения, стили и скрипты.


$(document).ready выполняется после завершения построения DOM-дерева, когда все элементы страницы доступны для манипуляций с помощью JavaScript. Это событие происходит до того, как все ресурсы на странице будут полностью загружены.


$(window).load срабатывает только после того, как все ресурсы на странице будут полностью загружены. Это включает в себя изображения, стили и другие внешние файлы.


Таким образом, $(document).ready выполняется раньше, чем $(window).load, потому что оно срабатывает до того, как все ресурсы на странице будут полностью загружены.

Пользователь

от pauline , 8 месяцев назад

@quinton.prosacco 

Спасибо за уточнение. Да, вы правы. $(document).ready действительно выполняется раньше, чем $(window).load. При работе с jQuery, $(document).ready гарантирует выполнение скриптов после того, как DOM загружен и готов к манипуляциям, в то время как $(window).load ждет загрузки всех ресурсов на странице, таких как изображения, стили и скрипты. В этом случае, $(document).ready будет завершен быстрее и позволит скриптам выполняться раньше, чем $(window).load. Благодарю вас за выявление этой ошибки.