JackShcherbakov
@JackShcherbakov

Почему мы иногда пишем document.ready а иногда нет? В чем отличие от window.load?

У меня уже голова болит от этого! В книге ужасно объясняется этот момент! До 5-ой главы в скриптах я никакого document.ready не писал, а тут, когда дело дошло до событий автор резко вспомнил что надо писать document.ready а почему сказал только то, что это надо что бы JS код выполнялся после того как загрузится DOM! Но а зачем тогда этот window.load? И зачем вообще все это, если все и без этого работает?

Спасибо всем, кто поможет!
  • Вопрос задан
  • 2549 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Событие DOMContentLoaded ( в jQuery $(document).ready()) происходит когда загружен весь HTML и построен DOM.
Событие window.load - когда загружен весь HTML, построен DOM, загружены и применены все стили и изображения (то есть намного позже).

И зачем вообще все это, если все и без этого работает?
Если у вас и так всё работает - не используйте. Однажды появится ситуация, что вы пытаетесь повесить обработчик на форму, а она еще не загружена - придется использовать DOMContentLoaded. Или однажды нужно будет скриптом учесть высоту какого-то блока, но стили еще не прогрузились - тогда воспользуетесь window.load. А пока и так работает, зачем лишний раз изображать карго культ?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
EaGames
@EaGames
Front-end developer
вообще-то не работает.. Если к обратится к элементу через js когда его ещё не существует, тоесть весь DOM не загрузился, то ничего не получится. нужно подождать когда он загрузится а потом уже к нему обратится и что-то с ним делать.
'после ready' DOM уже создан и уже можно обратиться к элементам, после load не только DOM создан но и всё всё всё загружено пользователем, картинки итп.. в случае с ready пользователю виден только <img> как тег, а в случае load уже и как картинка на экране.
Примерно вот так...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы