Maison >interface Web >js tutoriel >Explication détaillée de la méthode prête à l'emploi de jQuery_jquery

Explication détaillée de la méthode prête à l'emploi de jQuery_jquery

WBOY
WBOYoriginal
2016-05-16 16:30:001804parcourir

La méthode ready dans jQuery a pour effet d'être exécutée uniquement après le chargement de la page. Cependant, il ne s'agit pas d'un package de window.onload ou de document.onload, mais elle utilise le DOM du navigateur standard du W3C pour masquer l'API. et les défauts du navigateur IE Terminé, regardons d'abord le code jQuery

.

Copier le code Le code est le suivant :

DOMContentLoaded = fonction()
{
// Annuler la surveillance des événements et exécuter la méthode ready if (document.addEventListener)
{                                                 document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );          jQuery.ready();
}
        else if (document.readyState === "complete") 
{
         document.detachEvent( "onreadystatechange", DOMContentLoaded );          jQuery.ready();
}
};



Copier le code Le code est le suivant :

jQuery.ready.promise = function( obj ) {
Si ( !readyList ) {
          readyList = jQuery.Deferred();
//Indique que la page a été chargée, appelez directement la méthode ready if (document.readyState === "complete") {
                                                                                                                                                                                                                                                                                                                          else if (document.addEventListener) //                                                                                                                                                                                                                                                                                                                                                                          // Ceci permet de garantir que toutes les exécutions prêtes sont terminées. Si la méthode DOMContentLoaded est exécutée, une valeur d'état isReady sera définie sur true. Par conséquent, // Une fois la méthode prête exécutée, elle ne sera exécutée qu'une seule fois et. le prêt dans window.addEventListener sera interrompu par le retour window.addEventListener( "load", jQuery.ready, false
);          } autre {
utiliser utiliser   utiliser utiliser utiliser   à utiliser   à utiliser               en utilisant '' s ' à ' s ' en utilisant ' à ' s' en utilisant ' à travers ' s ' à travers ' à travers ' s ' à travers à ‐ à ‐‐‐‐‐ ‐‐ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​                 window.attachEvent( "onload", jQuery.ready );             var top = false ;                essayer {
                          top = window.frameElement == null && document.documentElement
                } catch(e) {}
If ( top && top.doScroll ) // Supprimer les composants iframe (fonction doScrollCheck() {
Si ( !jQuery.isReady ) {
Essayez {
//Compatible avec les versions inférieures d'IE basées sur des bugs
http://javascript.nwbox.com/IEContentLoaded/
                                                                                                                                                                                                                                                       } catch(e) {                                    // En raison de la version basse du navigateur IE, l'incident OnreadyStateChange n'est pas fiable, vous devez donc déterminer si la page a été chargée en fonction de chaque BUG pour terminer le Return Settimeout (DOSCROLLLCHECK, 50) ;                                                                                                         jQuery.ready();
                                                                                                                                                                                                })( );
               }
           }
}
Renvoie readyList.promise( obj );
};

Copier le code Le code est le suivant :

prêt : fonction (attendre)
{
if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
//Détermine si le chargement de la page est terminé et si la méthode ready a été exécutée
Retour ;
>
si ( !document.body ) {
Retour setTimeout( jQuery.ready );
>
jQuery.isReady = true; //Indique que la méthode ready a été exécutée
if ( attendez !== true && --jQuery.readyWait > 0 ) {
Retour ;
>
readyList.resolveWith( document, [ jQuery ] );
si (jQuery.fn.trigger) {
jQuery(document).trigger("ready").off("ready");
>
},

Résumé :

Il y a deux événements lorsque la page est chargée. L'un est prêt, ce qui indique que la structure du document a été chargée (à l'exclusion des fichiers multimédias non textuels tels que les images). L'autre est en cours de chargement, ce qui indique que tous les éléments du document. La page comprenant des images et d'autres fichiers a été chargée. (On peut dire : prêt est chargé avant le chargement !!!)
Le contrôle de style général, tel que le contrôle de la taille de l'image, est chargé dans onload ; La méthode déclenchée par l'événement jS peut être chargée dans ready ;

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn