_addLoadEvent deze methode is om te bepalen of onload meerdere keren is aangeroepen, en als het meerdere keren wordt aangeroepen, worden de meerdere aanroepen op hun beurt uitgevoerd in Window.onload
In feite is het heel eenvoudig: _addLoadEvent (func), geef een functie door, bepaal dan of window.onload een functie heeft "gebonden" (d.w.z. typeof(window.onload) != 'functie'), en zo niet, voer direct de doorgegeven func-functie uit. Als deze is "gebonden", definieer dan zowel de oude als de nieuwe functie binnen window.onload en voer deze onmiddellijk uit. d.w.z.: window.onload = function(){ oldonload(); func(); }
Als een pagina meerdere window.onload-definities heeft, wordt vaak alleen de laatste definitie uitgevoerd.
Laten we het hebben over het verschil tussen window.onload, $(document).ready(function(){}) en $(window).load(function(){})!
Vergelijk eerst window.onload met $(document).ready(function(){}).
1. Uitvoeringstijd window.onload moet wachten totdat alle elementen van de pagina, inclusief afbeeldingen, geladen zijn. $(document).ready()JaDe DOM-structuur wordt uitgevoerd nadat deze is getekend, zonder te wachten tot deze geladen is。
2. Schrijf het getal op
window.onload kan niet tegelijkertijd worden geschreven; als er meerdere window.onload-methoden zijn, wordt deze alleen uitgevoerdEen $(document).ready() kan tegelijkertijd worden geschrevenMeerdere, en kan worden uitgevoerd
3. Vereenvoudig de schrijfmethode
window.onload is niet vereenvoudigd $(document).ready(function(){}) kan worden afgekort als $(function(){});
Het verschil tussen $(window).load(function(){}) en window.onload is dat $(window).load(function(){}) meerdere keren kan schrijven
|