Подтвердить что ты не робот

Сценарии jQuery по-прежнему требуют $(document).ready, если они загружаются после всего HTML-страницы?

Если я загружаю сценарии jQuery под всем моим HTML-страницей, мне все еще нужно ждать, пока $(document).ready сможет использовать jQuery для поиска элементов на странице?

4b9b3361

Ответ 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/