2010-04-12 5 views
4

Je ne sais pas si quelqu'un a d'autre a remarqué, mais je remarqué la jQuery samples I see on MS ont tendance à utiliser un format différent:

<script type="text/javascript"> 

    $(domReady); 

    function domReady() { 
    $('#btn').click(showMessage); 
    } 

    function showMessage() { 
    $('#message').fadeIn('slow'); 
    } 
</script> 

est-ce pas la même chose que:

$(document).ready(function() { 

    $('#btn').click(showMessage); 

    function showMessage() { 
    $('#message').fadeIn('slow'); 
    } 

}); 

est-il un avantage d'utiliser une syntaxe plutôt qu'une autre?

Je dois admettre que la méthode MS semble plus propre.

Répondre

4

La seule vraie différence est la lisibilité et l'organisation.

Il est techniquement le même que

$(function() { 

    $('#btn').click(showMessage); 

    function showMessage() { 
    $('#message').fadeIn('slow'); 
    } 

}); 

qui est un raccourci pour $(document).ready(...)

+0

Je me suis toujours demandé comment cela fonctionne sténographie. '$ (document) .ready (...)' Je comprends. Je suppose que jQuery attend un délégué ou une fonction anonyme? – Armstrongest

+0

La fonction jQuery principale $() vérifie si le typeof le paramètre est une fonction. Si c'est le cas, il l'ajoute en tant que gestionnaire d'événement à document.ready. Si c'est quelque chose d'autre, il l'utilise comme un sélecteur. Je pense que c'est ce que fait réellement: if (jQuery.isFunction (selector)) { return rootjQuery.ready (sélecteur); } –

Questions connexes