Если я загружаю сценарии jQuery под всем моим HTML-страницей, мне все еще нужно ждать, пока $(document).ready
сможет использовать jQuery для поиска элементов на странице?
Сценарии jQuery по-прежнему требуют $(document).ready, если они загружаются после всего HTML-страницы?
Ответ 1
Нет, вам не нужен $(document).ready
для любого кода, который взаимодействует с элементами DOM на странице, если скрипты помещаются под этими элементами.
Хорошая практика заключается в том, чтобы поместить их перед закрывающим тегом </body>
.
Ответ 2
Нет, потому что документ уже был загружен. Дом загружается сверху вниз. Я лично хотел бы поместить все мои js в нижней части страницы, а не в голову.
однако это всего лишь 1 строка кода, и я бы предложил использовать ее только для того, чтобы быть в безопасности. также вы можете сделать его еще короче. $(function() {}
совпадает с $(document).ready(function(){})
Ответ 3
Вам не нужно использовать функцию jQuery ready
, но ваш код должен быть написан с учетом этого. Любые click
или другие обработчики привязки не могут правильно подключаться к селекторам, однако другие, такие как live
и $.ajax
, могут функционировать по назначению.
Будьте осторожны при использовании загрузчиков script или AMD, используя этот подход. jQuery должен быть доступен, и вы должны блокировать его при загрузке. Загрузите jQuery и другие отпечатки в голове.
Отличный взгляд на этот метод, который описывает, что это не обязательно использовать для работы jQuery (не обязательно об использовании в нижнем колонтитуле):
http://encosia.com/dont-let-jquerys-document-ready-slow-you-down/