_addLoadEvent tą metodą jest ustalenie, czy onload był wywoływany wielokrotnie, a jeśli jest wywoływany wielokrotnie, wielokrotne wywołania będą wykonywane kolejno w Window.onload
W rzeczywistości jest to bardzo proste: _addLoadEvent (func), przekazujesz funkcję, a następnie określasz, czy window.onload "ograniczył" funkcję (np. typeof(window.onload) != 'function'), a jeśli nie, to bezpośrednio wykonaj przekazaną funkc. Jeśli funkcja została "związana", zdefiniuj zarówno starą, jak i nową funkcję w window.onload i wykonaj ją jednocześnie. tzn.: window.onload = function(){ oldonload(); func(); }
Jeśli strona ma wiele definicji window.onload, często wykonywana jest tylko ostatnia definicja.
Porozmawiajmy o różnicy między window.onload, $(document).ready(function(){}) a $(window).load(function(){})!
Najpierw porównaj window.onload z $(document).ready(function(){}).
1. Czas wykonania Windows.onload musi poczekać, aż wszystkie elementy strony, w tym obrazy, zostaną załadowane. $(dokument).ready()TakStruktura DOM jest wykonywana po jej narysowaniu, bez oczekiwania na jej załadowanie。
2. Zapisz liczbę
window.onload nie może być zapisywany jednocześnie, jeśli istnieje wiele metod window.onload, wykona się tylkoJeden $(document).ready() można zapisywać jednocześniewielokrotne, i może być wykonywany
3. Uprość metodę pisania
window.onload nie jest uproszczony $(document).ready(function(){}) można skrócić jako $(function(){});
Różnica między $(window).load(function(){}) a window.onload polega na tym, że $(window).load(function(){}) może zapisywać wielokrotnie
|