Могу ли я использовать функцию вместо $ (document) .ready (function () {} [closed]

0

Могу ли я использовать функцию в месте $( document).ready(function() {} в jQuery?

Фактически я использую этот метод, и он работает нормально. Я прошу, чтобы это знало, что это проблема в будущем или нет? или это неправильный метод?

Например

function run_query
{
jquery code here
}
  • 2
    $ (function () {}) является альтернативой использованию $ (document) .ready (function () {})
  • 1
    Да, вы можете опустить dom ready, просто убедитесь, что ваш код не выполняется до тех пор, пока не появятся элементы, с которыми он должен взаимодействовать.
Показать ещё 3 комментария
Теги:

2 ответа

2

$(function(){ }) или $(document).ready(function(){}) определяют обработчики событий, которые запускаются в событии готовности документа. Документ готов к работе, когда весь html загружается на страницу, включая изображения. Вам не нужно определять готовый обработчик страницы, если вы не выполняете манипуляции с DOM или не определяете свои функции после загрузки содержимого.

Следует отметить, что если вы выполняете привязку к элементам напрямую, они должны быть загружены на страницу, прежде чем пытаться привязываться к ним. То, что я подразумеваю под прямым связыванием, - $("#id").on('event', handler). Вы также можете использовать делегирование, которое является чем-то вроде $(document).on('event', '#id', handler) или $('altEl').on('event', 'el selector', handler) в этом случае убедитесь, что загружен altel. Обратите внимание, что элемент document будет загружен временем выполнения javascript в <head>.

  • 1
    Я думаю , вы должны уточнить свой последний абзац , поскольку связывание .on на документе, не является хорошей практикой. и $('el').on('event', 'el', func) не является прямой привязкой и, тем не менее, она не будет работать без готовности DOM.
  • 0
    Согласен, однако, причина, по которой я сказал (документ), заключается в том, что, если javascript определен в <head>, он все равно будет работать. Вам не нужно убедиться, что какой-либо HTML загружен.
Показать ещё 1 комментарий
1

Вы должны проверить другие вопросы, которые были опубликованы о том, как javascript/html загружается и выполняется при отправке страницы клиенту... Помещение функции внутри $ (document) необходимо только тогда, когда код внутри функции зависит от элементы внутри HTML, которые еще не загружены.

Лучший способ сделать это - разместить свои скрипты в нижней части страницы, прямо перед концом тела

</body>

как тогда вам не нужно беспокоиться о том, что некоторые HTML-элементы еще не загружены, и это заставляет ваш сайт работать быстрее, так как ему не нужно ждать выполнения javascript для отображения страницы.

  • 0
    Будьте внимательны, если вы делаете какие-либо манипуляции с изображениями, они могут быть еще не загружены даже после анализа html. Это ненормальное обстоятельство, но об этом нужно знать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню