Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der fertigen Methode_jquery von jQuery

Detaillierte Erläuterung der fertigen Methode_jquery von jQuery

WBOY
WBOYOriginal
2016-05-16 16:30:001780Durchsuche

Die Ready-Methode in jQuery bewirkt, dass sie erst ausgeführt wird, nachdem die Seite geladen wurde. Es handelt sich jedoch nicht um ein Paket von window.onload oder document.onload, sondern um die API des Standard-W3C-Browsers auszublenden und IE-Browserfehler abgeschlossen, schauen wir uns zunächst den jQuery-Code an

Code kopieren Der Code lautet wie folgt:

DOMContentLoaded = function()
{
//Ereignisüberwachung abbrechen und Ready-Methode ausführen, wenn (document.addEventListener)
{                                              document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );          jQuery.ready(); }
        else if (document.readyState === "complete") 
{
         document.detachEvent( "onreadystatechange", DOMContentLoaded );          jQuery.ready(); }
};





Code kopieren

Der Code lautet wie folgt:

jQuery.ready.promise = function( obj ) {
If ( !readyList ) {
         readyList = jQuery.Deferred();
// Zeigt an, dass die Seite geladen wurde. Rufen Sie die Ready-Methode direkt auf, wenn (document.readyState === "complete") {
                                                                                                                                                                                                                                                                                                                    else if (document.addEventListener) //                                                                                                                                                                                                                                                                                                                                                          //Damit soll sichergestellt werden, dass alle Ready-Ausführungen abgeschlossen sind. Wenn die DOMContentLoaded-Methode ausgeführt wird, wird ein Statuswert auf „true“ gesetzt. //Sobald die Ready-Methode ausgeführt wird, wird sie nur einmal ausgeführt ready in window.addEventListener wird durch return window.addEventListener( "load", jQuery.ready, false ); unterbrochen          } else {
verwenden mit   verwenden mit verwenden mit   verwenden   verwenden               durch Verwendung von '' s ' durch ' s ' durch Verwendung ' durch ' s ' durch Verwendung ' durch ' s ' durch ' durch ' s ' durch ' bis zu ‐ bis ‐‐‐‐ ‐‐ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​                 window.attachEvent( "onload", jQuery.ready );             var top = false;                versuchen Sie es mit {
                         top = window.frameElement == null && document.documentElement
                } Catch(e) {}
If ( top && top.doScroll ) // Iframe-Komponenten entfernen (Funktion doScrollCheck() {
If ( !jQuery.isReady ) {
                               versuchen Sie es mit {
//Kompatibel mit niedrigeren Versionen von IE basierend auf Fehlern
http://javascript.nwbox.com/IEContentLoaded/
} Catch (e) {
// Aufgrund der niedrigen Version des IE-Browsers ist der OnreadyStateChange-Vorfall unzuverlässig, daher müssen Sie anhand jedes BUGs ermitteln, ob die Seite geladen wurde, um den Return Settimeout (DOSCROLLLCHECK, 50) abzuschließen                                                                                                       jQuery.ready();
                                                                                                                                                                                      })();               }
           }
}
Rückgabe readyList.promise(
). };

Code kopieren Der Code lautet wie folgt:

bereit: Funktion(warten)
{
if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
//Bestimmen Sie, ob der Ladevorgang der Seite abgeschlossen ist und ob die Ready-Methode ausgeführt wurde
zurück;
}
if ( !document.body ) {
Geben Sie setTimeout( jQuery.ready );
zurück }
jQuery.isReady = true; //Zeigt an, dass die Ready-Methode ausgeführt wurde
if ( wait !== true && --jQuery.readyWait > 0 ) {
zurück;
}
readyList.resolveWith( document, [ jQuery ] );
if (jQuery.fn.trigger) {
jQuery(document).trigger("ready").off("ready"); }
},

Zusammenfassung:

Beim Laden der Seite gibt es zwei Ereignisse: Das eine zeigt an, dass die Dokumentstruktur geladen wurde (mit Ausnahme von Nicht-Text-Mediendateien wie Bildern). Das andere ist „Onload“, was anzeigt, dass alle Elemente der Seite geladen sind Seite inklusive Bildern und anderen Dateien wurden geladen. (Man kann sagen: „Ready“ wird vor „Onload“ geladen!!!)

Die allgemeine Stilsteuerung, z. B. die Bildgrößensteuerung, wird in onload geladen Die durch das jS-Ereignis ausgelöste Methode kann in ready geladen werden;

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn