Jaka jest różnica między $(window).load(function() {})
i $(document).ready(function() {})
w jQuery?
216
document.ready
jest zdarzeniem jQuery, uruchamia się, gdy DOM jest gotowy, np. wszystkie elementy można znaleźć / wykorzystać, ale niekoniecznie całą zawartość .window.onload
odpala później (lub w tym samym czasie w najgorszych / nieudanych przypadkach), gdy obrazy są ładowane, więc jeśli na przykład używasz wymiarów obrazu, często chcesz tego użyć.
$(document).ready(function(){})
jest$(function(){})
i kolejna ważna różnica w stosunku do window.load jest to, że będzie on działać na WSZYSTKICH przyszłych wywołaniach funkcji, nawet po początkowym DOMready.$(window).on('load')
. Oba odwołują się do zdarzenia ładowania .it will run on ALL future calls of the function
?$(document).ready
kodu, gdy DOM jest gotowy. Jest to tak mały przypadek użycia, że prawdopodobnie nie warto było mylić wszystkich ze wspomnianiem o nim. 2) ŚRODOWISKO wywołuje tylko$(document).ready(function(){})
raz, gdy DOM jest gotowy. Jeśli z jakiegoś powodu użytkownik wykona więcej$(document).ready
po DOM, to tak, zostanie on natychmiast wykonany.źródło
$(window).load()
Nie jest dostępna w jQuery 3.0Aby go obejść, możesz użyć go jako „załącznika obsługi zdarzeń”
źródło
Różnica polega na:
$(document).ready(function() {
to zdarzenie jQuery, które jest uruchamiane po załadowaniu DOM, więc jest uruchamiane, gdy struktura dokumentu jest gotowa.$(window).load()
zdarzenie jest uruchamiane po załadowaniu całej treści.źródło
Window.load zostanie uruchomiony po załadowaniu całej zawartości elementu iframe
źródło
$(document).ready
dzieje się, gdy wszystkie elementy są obecne w DOM, ale niekoniecznie cała zawartość.window.onload
lub$(window).load()
dzieje się po załadowaniu wszystkich zasobów treści (obrazów itp.).źródło
Z perspektywy jquery - po prostu dodaje
load
/onload
event do okna i dokumentu. Sprawdź to:window.onload vs document.onload
źródło
document.ready (jQuery) document.ready zostanie wykonany zaraz po załadowaniu właściwości dokumentu HTML, a DOM jest gotowy.
DOM: Document Object Model (DOM) to wieloplatformowa i niezależna od języka konwencja do reprezentowania i interakcji z obiektami w dokumentach HTML, XHTML i XML.
window.load (wbudowany JavaScript) Window.load będzie jednak czekał na pełne załadowanie strony, w tym ramki wewnętrzne, obrazy itp. * window.load to wbudowana metoda JavaScript, wiadomo, że ma pewne dziwactwa w starych przeglądarkach (IE6, IE8, stare wersje FF i Opera), ale ogólnie będą działać we wszystkich.
window.load może być użyty w zdarzeniu onload ciała w ten sposób (ale zdecydowanie sugeruję unikanie mieszania takiego kodu w HTML, ponieważ jest to później źródło nieporozumień):
źródło
źródło
Myślę, że
$(window).load
wydarzenie nie jest obsługiwane przez JQuery 3.xźródło
Zgodnie ze zdarzeniami DOM poziomu 2 wydarzenie
load
ma się uruchamiaćdocument
, a nie włączaćwindow
. Jednakload
jest zaimplementowanywindow
we wszystkich przeglądarkach w celu zapewnienia kompatybilności wstecznej.źródło