_addLoadEvent šis metodas yra nustatyti, ar onload buvo iškviestas kelis kartus, o jei jis iškviečiamas kelis kartus, keli skambučiai bus vykdomi Window.onload paeiliui
Tiesą sakant, tai labai paprasta, _addLoadEvent (func), perduoti funkciją ir tada nustatyti, ar window.onload turi "surištą" funkciją (t.y. typeof(window.onload) != 'function'), o jei ne, tiesiogiai vykdyti perduotą funkciją. Jei jis buvo "surištas", tada apibrėžkite ir senąją, ir naują funkciją window.onload viduje ir vykdykite ją iš karto. t.y.: window.onload = function(){ oldonload(); func(); }
Jei puslapyje yra keli window.onload apibrėžimai, dažnai vykdomas tik paskutinis apibrėžimas.
Pakalbėkime apie skirtumą tarp window.onload, $(document).ready(function(){}) ir $(window).load(function(){})!
Pirmiausia palyginkite window.onload su $(document).ready(function(){}).
1. Vykdymo laikas window.onload turi palaukti, kol bus įkelti visi puslapio elementai, įskaitant vaizdus. $(dokumentas).ready()TaipDOM struktūra vykdoma po to, kai ji yra nupiešta, nelaukiant, kol ji bus įkelta。
2. Parašykite numerį
window.onload negalima parašyti vienu metu, jei yra keli window.onload metodai, jis bus vykdomas tikVienas $(dokumentas).ready() gali būti parašytas tuo pačiu metuDaugkartinisir gali būti vykdomas
3. Supaprastinkite rašymo metodą
window.onload nėra supaprastintas $(document).ready(function(){}) gali būti sutrumpintas kaip $(function(){});
Skirtumas tarp $(window).load(function(){}) ir window.onload yra tas, kad $(window).load(function(){}) gali rašyti kelis kartus
|