У меня есть JavaScript, который генерирует HTML-блоки. Этот скрипт иногда называется где-то во время выполнения, а иногда и до загрузки документа. Я хочу, чтобы скрипт мог определить, готов ли документ. Если это так, сгенерируйте HTML, иначе добавьте функцию document.ready(). Каков наилучший способ jQuery узнать, загружен ли документ?Откуда вы знаете, если документ готов
ответ
Безопасно всегда обертывать код генерации HTML в $ (document) .ready(). Если документ уже готов, новый зарегистрированный обратный вызов $ (document) .ready() будет выполняться немедленно.
Используйте load
событие:
$(window).load(function(){
// your code...
});
С load
события, DOM, изображения, рамки и любые другие внешние ресурсы загружаются в документ.
Вам даже этого не нужно. Вы можете просто сделать '$ (function() {...});' – casablanca
'$ (document) .load()' не работает. Проверьте это: http://jsfiddle.net/kjZrn/ Вам понадобится '$ (window) .load()' или '$ (document) .ready()' (или эквивалентный ярлык). – user113716
$(document).ready(
function() {
//code to execute once the page is loaded
}
);
+1 Это хорошее решение, так как не похоже, что OP беспокоится о полной загрузке изображений. – user113716
http://www.learningjquery.com/2006/09/introducing-document-ready
$(document).ready(function() {
// put all your jQuery goodness in here.
});
Вы можете использовать готовое событие для запуска вещи после того, как DOM загружен
$(document).ready(function() {
// your function
});
или событие нагрузки ждать, пока не будет загружен абсолютно все
$(document).load(function() {
// your function
});
Если вы не знаете, что вам нужно использовать событие загрузки, я бы использовал готовый (который я b elieve - событие DOMContentLoaded).
$(function() {
// document has loaded at this point
});
- 1. Откуда вы знаете местоположение в пикселях
- 2. Откуда вы знаете, если ваш список возрастает в python
- 3. Откуда вы знаете, когда скрипт PowerShell закончен?
- 4. Откуда вы знаете, кто зависит от проекта?
- 5. Константы. Откуда вы знаете, что такое константа?
- 6. Откуда вы знаете, что такое хороший индекс?
- 7. Откуда вы знаете, когда использовать шаблоны дизайна?
- 8. Откуда вы знаете, доверено ли CA?
- 9. Откуда вы знаете, какое отношение использовать?
- 10. Откуда вы знаете, когда закрыть проект?
- 11. Откуда вы знаете, что вы «внутри» набора треугольников?
- 12. Откуда вы знаете, какие методы использовать для задачи?
- 13. Откуда вы знаете, что было загружено в среду REPL clojure?
- 14. Откуда вы знаете, проект проекта maven в eclipse?
- 15. Откуда вы знаете, какая кодировка пользователя вводит в браузер?
- 16. Откуда вы знаете, когда могут связываться два объекта?
- 17. Откуда вы знаете, когда возвращать false из функции jQuery?
- 18. Откуда вы знаете, когда вам нужны отдельные таблицы?
- 19. Откуда вы знаете, что представляет собой текущий объект?
- 20. Откуда вы знаете, какие параметры следует задать для функции javascript?
- 21. Откуда вы знаете, установлен ли Tomcat Server на вашем ПК
- 22. Откуда вы знаете, остановил ли syslog-ng ваш демон-слушатель?
- 23. Откуда вы знаете, какие параметры/аргументы нужно положить в закрытие?
- 24. Откуда вы знаете, какой SRID использовать для shp-файла?
- 25. Откуда вы знаете, когда бросать элемент в swift?
- 26. Откуда вы знаете, когда текстовое поле редактируется во Flash AS3?
- 27. Откуда вы знаете, где выполнять вращения в дереве AVL?
- 28. Откуда вы знаете значение параметра в этой функции javascript?
- 29. Откуда вы знаете, когда загрузка началась с JavaScript?
- 30. Откуда вы знаете, есть ли в UWP-устройстве Чат/SMS?
Было уже много предложений для этого, но использование '$ (document) .ready()' действительно именно то, что вы хотите. За кулисами, когда эта функция вызывается, jQuery проверяет, готова ли DOM. Если это так, он просто выполняет содержащуюся функцию. Если это не так, оно добавляет готовое событие. –