web-dev-qa-db-fra.com

Différences entre document.ready et $ function

Duplicata possible:
Quelle est la différence entre ces fonctions prêtes pour jQuery?
jquery: Choix d'une méthode document.ready

Quelle est la différence entre faire cela

$(function() {
    $("a").click(function(event){
        alert("Thanks for visiting!");
    });
});

et ça

$(document).ready(function(){
    $("a").click(function(event){
        alert("Thanks for visiting!");
    });
});
32
Matt Morey

Ce sont les mêmes. Découvrez le jQuery .ready() docs . Voici une citation des documents:

Les trois syntaxes suivantes sont équivalentes:

$ (document) .ready (gestionnaire)

$ (). ready (gestionnaire) (ce n'est pas recommandé)

$ (gestionnaire)

43
James Hill

Il n'y a aucune différence de fonctionnalité entre vos exemples - ils se lient tous les deux à DOM ready.

Pour référence, il existe deux points auxquels vous pouvez lier votre code jQuery.

Le premier s'exécutera lorsque le DOM sera prêt (les deux sont équivalents):

$(document).ready(function() {
    // code
});
$(function() {
    // code
});

Le second s'exécutera lorsque la page aura fini de charger toutes les images, feuilles de style, etc.

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

La seconde est utile lorsque vous devez obtenir la width() ou height() d'une image. Ces propriétés ne sont disponibles qu'une fois l'image complètement téléchargée sur le système client.

Notez également que $(window).load(fn); est désormais obsolète et ne doit plus être utilisé.

10
Rory McCrossan

Les trois syntaxes suivantes sont équivalentes:

$(document).ready(handler) 
$().ready(handler) (this is not recommended) 
$(handler) 

http://api.jquery.com/ready/

7
Sanjay Goswami