Можете ли вы перечислить разницу между функциями onload()
и $(document).ready(function(){..})
при использовании jQuery?
Разница между onload () и $ .ready?
Ответы (6)
событие load
(также известное как «onload») в окне и / или элементе тела будет срабатывать после загрузки всего содержимого страницы - включая все изображения, сценарии и т. д. все .
Напротив, функция jquery $(document).ready(...)
будет использовать специфичный для браузера механизм, чтобы гарантировать, что ваш обработчик будет вызван как можно скорее после загрузки и доступа к HTML / XML dom. Это самая ранняя точка в процессе загрузки страницы, когда вы можете безопасно запустить скрипт, который намеревается получить доступ к элементам в html-пространстве страницы. Эта точка наступает раньше (часто намного раньше), чем последнее load
событие, из-за дополнительного времени, необходимого для загрузки вторичных ресурсов (например, изображений и т. П.).
load
, а когда document.ready
?
- person Unbreakable; 03.12.2016
Основные различия между ними:
- Событие Body.Onload () будет вызываться только после загрузки DOM и связанных ресурсов, таких как изображения, но событие jQuery document.ready () будет вызываться после загрузки DOM, т.е. он не будет ждать загрузки ресурсов, таких как изображения. . Следовательно, функции в событии готовности jQuery будут выполняться после загрузки структуры HTML, не дожидаясь ресурсов.
- У нас может быть несколько document.ready () на странице, но не может быть событие Body.Onload ().
Функция Document.ready () срабатывает сразу после загрузки HTML DOM. Но функция onload () сработает после загрузки HTML DOM, всего содержимого тела, такого как изображения.
body.onload () заботится как о структуре HTML, так и о связанных ресурсах, тогда как document.ready () заботится только о структуре HTML.
Onload позаботится о DOM и ресурсах: он проверяет, загружены ли изображения, готов ли сценарий к запуску и многое другое.
$ .ready просто проверяет, прочитали ли мы полную DOM страницы.
Перейдите по этой ссылке, чтобы получить дополнительные объяснения и примеры: http://dailygit.com/difference-between-document-ready-and-window-load-in-jquery/
onload () срабатывает, когда весь контент (все) целевого элемента полностью загружен, например CSS, изображения и т. д.
$ .ready указывает, что код в нем должен быть выполнен после загрузки содержимого целевых элементов и готовности к манипулированию сценарием. Он не будет ждать загрузки изображений для выполнения сценария jQuery.
.
Пример (нагрузка кузова):
<body onload="loadBody()">
<script>
function myFunction() {
alert("Page is loaded");
}
</script>
</body
Ex (загрузка элемента):
<img src="w3html.gif" onload="loadImg()" width="100" height="132">
<script>
function loadImg() {
alert("Image is loaded");
}
</script>
Ex3 ($ .ready):
<script type = "text/javascript">
$(document).ready(function() {
alert("$(document).ready fired");
});
</script>