Wie lädt man eine jQuery-Funktion erst nach dem Laden des Dokuments

7

Seltsame Situation:

Ich baue eine Menüleiste mit jQuery und CSS .
In meiner JavaScript-Datei habe ich eine on-ready -Funktion wie folgt:

%Vor%

und ...

%Vor%

Aus irgendeinem Grund, sogar bevor all das Dokument fertig geladen wird, erhalte ich die Warnmeldung mit einer falschen Breite. Nur wenn ich die Nachricht freigebe, wird der Rest des Dokuments geladen und ich bekomme die richtige Breite, wie es sein sollte.

Warum wird meine Funktion aufgerufen, BEVOR alle Dokumente fertig geladen sind? Gibt es eine Möglichkeit, die Funktion erst nach dem Laden eines bestimmten Elements zu laden (Beispiel: das Element nav )?

    
Lior Elrom 19.04.2013, 18:09
quelle

6 Antworten

11

Sie können window.load verwenden, es wird nach der gesamten Ressource ausgelöst Laden abgeschlossen.

%Vor%
  

Das load -Ereignis wird am Ende des Dokumentladevorgangs ausgelöst. Beim   An diesem Punkt befinden sich alle Objekte im Dokument im DOM und alle   Die Bilder und Unterrahmen wurden geladen, Referenz

    
Adil 19.04.2013, 18:11
quelle
5

Alle aktuellen Lösungen behandeln nur die Symptome des Hauptproblems. Wenn Sie möchten, dass Ihr Handler ausführt, nachdem alle Ihre Ajax geladen wurden, dann können Sie eine Zusage verwenden.

%Vor%     
Brad M 19.04.2013 18:16
quelle
3

Versuchen Sie das Fensterladeereignis:

%Vor%     
soyuka 19.04.2013 18:11
quelle
2

Um sicher zu sein, try window load

%Vor%     
Mohammad Adil 19.04.2013 18:11
quelle
0

Before (manchmal, lädt nicht unbedingt am Anfang, ein paar Millisekunden nach (0-200ms über)):

%Vor%

Nachher: ​​

%Vor%     
computerguy 21.06.2015 06:59
quelle
0

In meiner Arbeitssituation mit AJAX und HTML. Ich habe das gleiche Problem mit den Funktionen $ (document) .ready () und $ (window) .load (). Ich habe dieses Problem gelöst, indem ich den Handler meines Ereignisses (das bei HTML DOC funktionieren sollte) zur jQuery-Funktion hinzufüge, die direkt nach dem Beenden von AJAX ausgeführt wird. Lesen Sie Folgendes: " jQuery.post () " (dritter Parameter in der Funktion).

In meinem Code sieht es so aus:

%Vor%     
Evgeniy Miroshnichenko 07.07.2016 09:10
quelle

Tags und Links