#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.
Вы можете прочитать подробную документацию здесь: