2009-09-07 7 views
38

J'ai vu des gens qui écrivent

$(document).ready(function(){ 

}); 

et une écriture

$(function() { 

     }); 

Quelle est la différence et quand utiliser quoi?

Répondre

45

$ est l'objet jQuery lui-même qui, lorsqu'il est appelé, implémente une pile complète d'interfaces différentes. $('string') exécute un sélecteur ou construit un noeud; $(domElement) enveloppe un élément ... et $(a_function) est un raccourci pratique pour $(document).ready(a_function). Voir the jQuery API docs pour (beaucoup) plus d'informations.

Une note en passant: $(function() { ... }) est plus courte, mais si jamais vous voulez rechercher tous vos événements sur prêts, vous pourriez être à souhaiter que vous aviez .ready à chercher :)

13

Il n'y a pas de différence.

L'un est un raccourci pratique qui appelle l'autre en interne.

De l'jQuery docs:

Un raccourci pour $(document).ready(). Vous permet de lier une fonction à exécutée lorsque le chargement du document DOM a terminé . Cette fonction se comporte comme $(document).ready(), en ce qu'il devrait être utilisé pour envelopper autres $() opérations sur votre page qui dépendent du DOM être prêt à être opéré. Tandis que cette fonction est, techniquement, chainable - il vraiment n'est pas beaucoup d'utilisation pour enchaîner il.

Vous pouvez avoir autant d'événements que vous le souhaitez sur votre page. Voir prêt (Fonction) pour plus de détails sur l'événement prêt .

Questions connexes