_addLoadEvent αυτή η μέθοδος είναι να προσδιοριστεί εάν το onload έχει κληθεί πολλές φορές και εάν κληθεί πολλές φορές, οι πολλαπλές κλήσεις θα εκτελεστούν στο Window.onload με τη σειρά τους
Στην πραγματικότητα, είναι πολύ απλό, _addLoadEvent (func), περάστε μια συνάρτηση και, στη συνέχεια, προσδιορίστε εάν το window.onload έχει "δεσμεύσει" μια συνάρτηση (π.χ. typeof(window.onload) != 'function'), και αν όχι, εκτελέστε απευθείας τη συνάρτηση func που πέρασε. Εάν έχει "δεσμευτεί", τότε ορίστε τόσο την παλιά συνάρτηση όσο και τη νέα συνάρτηση μέσα στο window.onload και εκτελέστε την ταυτόχρονα. π.χ.: window.onload = function(){ oldonload(); func(); }
Εάν μια σελίδα έχει πολλούς ορισμούς window.onload, συχνά εκτελείται μόνο ο τελευταίος ορισμός.
Ας μιλήσουμε για τη διαφορά μεταξύ window.onload, $(document).ready(function(){}) και $(window).load(function(){})!
Πρώτα, συγκρίνετε το window.onload με το $(document).ready(function(){}).
1. Χρόνος εκτέλεσης Το window.onload πρέπει να περιμένει μέχρι να φορτωθούν όλα τα στοιχεία της σελίδας, συμπεριλαμβανομένων των εικόνων. $(document).ready()ΝαιΗ δομή DOM εκτελείται μετά τη σχεδίασή της, χωρίς να περιμένετε να φορτωθεί。
2. Γράψτε τον αριθμό
Το window.onload δεν μπορεί να γραφτεί ταυτόχρονα, εάν υπάρχουν πολλές μέθοδοι window.onload, θα εκτελεστεί μόνοΈνα Το $(document).ready() μπορεί να γραφτεί ταυτόχροναπολλαπλά, και μπορεί να εκτελεστεί
3. Απλοποιήστε τη μέθοδο γραφής
Το window.onload δεν απλοποιείται Το $(document).ready(function(){}) μπορεί να συντομευτεί ως $(function(){});
Η διαφορά μεταξύ $(window).load(function(){}) και window.onload είναι ότι το $(window).load(function(){}) μπορεί να γράψει πολλές φορές
|