Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 10138|Απάντηση: 0

[JavaScript] Το js-window.onload μπορεί να κληθεί μόνο μία φορά!

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 26/2/2019 11:53:55 π.μ. | | |
_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(){}) μπορεί να γράψει πολλές φορές





Προηγούμενος:TeamViewer (μόνιμη ρωγμή και αποσυμπίεση απευθείας)
Επόμενος:java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com