load () -Methode ist veraltet?

Ich habe die jQuery API durchsucht und festgestellt, dass die Lade-Methode in der veralteten Liste ist.

Kategorien: Veraltet | Ereignisse> Laden von Dokumenten

Normalerweise verwende ich diese Methode, um zu überprüfen, ob Bilder vollständig geladen sind. Warum ist es veraltet? Und was soll ich stattdessen verwenden?

Siehe Bug # 11733 , der diese Vernachlässigung dokumentiert:

Die .load() Methode ist eine mehrdeutige Signatur, sie kann entweder eine Ajax-Ladung sein oder ein “load” .load() anhängen / .load() . CCAO kann sie nicht auseinanderhalten, da es sich um eine dynamische Entscheidung handelt, die auf Argumenten basiert.

Um Unklarheiten in Bezug auf die Signatur der Methode zu vermeiden, wird nun empfohlen, on () zu verwenden. Zum Beispiel:

 $("selector").load(function() { // ... }); 

Soll werden:

 $("selector").on("load", function() { // ... }); 

Load-function in jQuery-Alternative davon entzogen ist, auf der Sie wie verwenden können

 $("iframe").on("load",function() { alert("on loaded iframe"); }); 

Wenn das load nicht wie erwartet funktioniert, ist eine Alternative:

 $(window).one("scroll", foo); 

Oder

 $(window).one("scroll", function(){/*...*/}); 

Insbesondere ist die DOMContentLoaded Ereignisbindung in Android nützlich, wenn DOMContentLoaded nicht wie erwartet funktioniert und IE8 und darunter, wenn onreadystatechange nicht wie erwartet funktioniert.

Verweise

  • Android DOM Finger-Ereignisse

  • IE-Implementierung von DOMContentLoaded fehlgeschlagen, wenn keine Assets

  • IE <9 Hack für ein Dokument nicht innerhalb eines Frames