Różnica między onload () a $.gotowy?

Czy możesz wymienić różnicę między funkcjami onload() i $(document).ready(function(){..}) w jQuery?

Author: George Garchagudashvili, 2010-12-09

8 answers

Zdarzenie load (zwane także "onload") w oknie i/lub elemencie body uruchomi się po załadowaniu całej zawartości strony-obejmuje to wszystkie obrazy, Skrypty itp... wszystko.

W przeciwieństwie do tego, funkcja jquery $(document).ready(...) użyje mechanizmu specyficznego dla przeglądarki, aby zapewnić, że Twój handler zostanie wywołany tak szybko, jak to możliwe po załadowaniu i udostępnieniu HTML/XML dom. Jest to najwcześniejszy moment w procesie ładowania strony, w którym można bezpiecznie uruchomić skrypt, który zamierza dostęp do elementów w html dom strony. Punkt ten pojawia się wcześniej (często znacznie wcześniej) niż końcowe Zdarzenie load, ze względu na dodatkowy czas potrzebny na załadowanie zasobów wtórnych (takich jak obrazy itp.).

 66
Author: Lee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-17 06:10:23

Główne różnice między nimi to:

    Ciało.Zdarzenie Onload() zostanie wywołane dopiero po załadowaniu DOM i powiązanych zasobów, takich jak obrazy, ale dokumentu jQuery.Zdarzenie ready() zostanie wywołane po załadowaniu DOM, tzn. nie będzie czekać na załadowanie zasobów takich jak obrazy. Dlatego funkcje w zdarzeniu jQuery ready zostaną wykonane po załadowaniu struktury HTML bez czekania na zasoby.
  1. możemy mieć wiele dokumentów.ready() na stronie ale ciało.Zdarzenie Onload() nie może.
 18
Author: Bhanu Prakash Pandey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-09 07:18:41
  1. Możemy mieć więcej niż jedną funkcję document.ready() na stronie, gdzie możemy mieć tylko jedną funkcję onload.

  2. Dokument.funkcja ready() jest wywoływana zaraz po załadowaniu DOM, gdzie funkcja body.onload() jest wywoływana, gdy wszystko zostanie załadowane na stronę zawierającą DOM, obrazy i wszystkie powiązane zasoby strony.

 5
Author: Suhas Rathod,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-12 07:18:57

document.ready() funkcja różni się od funkcji ciała onload() z dwóch powodów.

  1. możemy mieć więcej niż jedną funkcję document.ready() na stronie, gdzie możemy mieć tylko jedno ciało onload funkcja.
  2. document.ready() funkcja jest wywoływana zaraz po załadowaniu DOM, gdzie body.onload() funkcja jest wywoływana, gdy wszystko zostanie załadowane na stronie, która zawiera DOM, obrazy i wszystkie powiązane zasoby strony.
 3
Author: Raji,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-15 11:32:45

Dokument.funkcja ready() uruchamia się zaraz po załadowaniu HTML DOM. Ale funkcja onload() uruchomi się po HTML DOM, cała zawartość ciała, jak załadowane obrazy.

 2
Author: user5755278,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-07 02:41:20

Ciało.onload () dba zarówno o strukturę HTML, jak i powiązane zasoby, gdzie jako dokument.ready() dba tylko o strukturę HTML.

 1
Author: sridiva,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-13 10:26:25

Onload dbaj o DOM i zasoby: sprawdza, czy obrazy są załadowane, czy skrypt jest gotowy do uruchomienia i wiele więcej.

$.gotowe wystarczy sprawdzić czy przeczytaliśmy cały DOM strony.

Sprawdź ten link, aby uzyskać więcej wyjaśnień i przykładów: http://dailygit.com/difference-between-document-ready-and-window-load-in-jquery/

 0
Author: Daniele Petrarolo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-07 17:45:46

Onload () jest wywołane, gdy cała zawartość (wszystko) na docelowym elemencie jest w pełni załadowana, jak CSS, obrazy itp.

$.ready wskazuje, że zawarty w nim kod musi zostać wykonany po załadowaniu docelowej zawartości elementów i gotowy do manipulowania skryptem. Nie będzie czekać na załadowanie obrazów do wykonania skryptu jQuery.

.

Ex (body onload):

<body onload="loadBody()">

<script>
function myFunction() {
    alert("Page is loaded");
}
</script>
</body

Ex (onload on an element): {]}

<img src="w3html.gif" onload="loadImg()" width="100" height="132">

<script>
function loadImg() {
    alert("Image is loaded");
}
</script>

Ex3 ($.gotowe): {]}

<script type = "text/javascript">
        $(document).ready(function() {
            alert("$(document).ready fired");
        });
    </script>
 0
Author: Srikrushna Pal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-14 09:48:57