_addLoadEvent tato metoda spočívá v určení, zda bylo onload voláno vícekrát, a pokud je voláno vícekrát, více volání bude postupně vykonáno v Window.onload
Ve skutečnosti je to velmi jednoduché, _addLoadEvent (func), předat funkci do funkce a poté zjistit, zda window.onload "ohraničil" funkci (tj. typeof(window.onload) != 'function'), a pokud ne, přímo spustit předanou funkc funkci. Pokud byla funkce "vázaná", definujte starou i novou funkci uvnitř windows.onload a spusťte ji okamžitě. tj.: window.onload = function(){ oldonload(); func(); }
Pokud má stránka více definic windows.onload, často se vykoná pouze poslední definice.
Pojďme si promluvit o rozdílu mezi window.onload, $(document).ready(function(){}) a $(window).load(function(){})!
Nejprve porovnejte window.onload s $(document).ready(function(){}).
1. Doba provedení Windows.onload musí počkat, dokud nebudou načteny všechny prvky stránky, včetně obrázků. $(dokument).připraven()AnoStruktura DOM se vykoná po nakreslení, aniž by se čekalo na načtení。
2. Napište číslo
window.onload nelze zapsat současně, pokud existuje více metod window.onload, bude vykonáván pouzeJedna $(document).ready() lze zapsat současněVíce, a lze ji vykonávat
3. Zjednodušit způsob psaní
window.onload není zjednodušený $(document).ready(function(){}) lze zkrátit jako $(function(){});
Rozdíl mezi $(window).load(function(){}) a window.onload je v tom, že $(window).load(function(){}) může zapisovat vícekrát
|