Правильное использование jQuery ready()

#jquery #dom #document-ready

#jquery #dom #документ готов

Вопрос:

Какой пример времени вы хотели бы использовать jquery.ready() ? Когда бы вы хотели запустить код до того, как DOM будет полностью сконструирован?

Редактировать: Извините! Это не то, что я имел в виду! Я имел в виду обратное! ready() действительно запускает код после создания DOM, и довольно часто это то, чего вы хотите. Но я только что узнал о функции delegate(), которую я использовал для вызова функции для вещей, которые позже были добавлены в DOM через ajax. Для этого я не использовал ready(), просто delegate() и я пытался выяснить, почему… Я очень сожалею о путанице.

Комментарии:

1. @Sparky672 Чтобы быть более точным, он запускает вложенный код после полной загрузки DOM. Я знаю, что придираюсь к грамматике, но кто-то в будущем может прочитать это и подумать, что эта строка запрещает запуск всего кода до тех пор, пока DOM не будет полностью загружен.

2. @Whetstone, в «комментариях» обычно делаются некоторые предположения, поскольку они не должны быть «ответом» на OP. В противном случае мы здесь целый день, превращая простые комментарии в полноценные ответы. Действительно, придирки.

Ответ №1:

Я рекомендую прочитать документацию к ready событию: http://api.jquery.com/ready /

Обработчик, переданный в .ready(), гарантированно будет выполнен после того, как DOM будет готов, поэтому обычно это лучшее место для подключения всех других обработчиков событий и запуска другого кода jQuery. При использовании скриптов, которые полагаются на значение свойств стиля CSS, важно ссылаться на внешние таблицы стилей или внедрять элементы стиля, прежде чем ссылаться на скрипты.

Ответ №2:

На самом деле полная противоположность. $.ready() запускается после загрузки DOM, любой обычный скрипт запускается до.

Ответ №3:

Вы используете $.ready() всякий раз, когда вам нужно взаимодействовать с элементами DOM, например, манипулируя / анимируя / добавляя / удаляя / заменяя их.

Обратите внимание, однако, что вы не можете использовать $.ready() для работы с изображениями или фреймами, если они не загружены полностью, что обычно делается с помощью onload события вместо этого.

Когда бы вы хотели запустить код до того, как DOM будет полностью сконструирован?

На самом деле вы используете $.ready() ПОСЛЕ полной загрузки DOM.

Вы можете прочитать подробную документацию здесь: