Partage
  • Partager sur Facebook
  • Partager sur Twitter

deferred et click.Menu : syntaxe jquery?

Sujet résolu
    21 mars 2011 à 4:13:45

    Salut,
    j'ai trouvé un code pour faire un menu, si on clique dessus, une div apparaît pour montrer le texte

    - sur un bind, j'ai trouvé ça : le 'click.Menu' . 'Menu' c'est la variable qui contient tous les autres fonctions , c'est la grosse variable de la page, mais est-on obligé dans ce cas de préciser le click avec Menu ?
    $ac_close.bind('click.Menu', function(e) {
    


    (- sinon j'ai trouvé ce code aussi dans le même script, mais j'ai du mal à comprendre la doc :
    est-ce que vous avez une explication simple de Deferred ici? on l'utilise avec resolve() et promise() mais quel est son utilité?)
    EDIT : voilà un lien pour ceux qui cherchent pour la 2e question :
    http://www.developpez.com/actu/28106/j [...] -asynchrones/
    Voilà ! si quelqu'un a une explication ;)

    a+ ;)
    • Partager sur Facebook
    • Partager sur Twitter
      22 mars 2011 à 16:12:27

      Le .Menu veut rien dire selon moi. Le premier paramètre de bind() prend un ou plusieurs nom(s) d'événement (séparés par des espaces).
      • Partager sur Facebook
      • Partager sur Twitter
        22 mars 2011 à 23:22:58

        Ok merci, j'ai pas non plus trouvé d'infos là-dessus. Si quelqu'un sait...
        • Partager sur Facebook
        • Partager sur Twitter
          22 mars 2011 à 23:52:06

          Un jour, je vous apprendrai à lire une documentation.

          Citation : .bind() - jQuery API

          If the eventType string contains a period (.) character, then the event is namespaced. The period character separates the event from its namespace. For example, in the call .bind('click.name', handler), the string click is the event type, and the string name is the namespace. Namespacing allows us to unbind or trigger some events of a type without affecting others. See the discussion of .unbind() for more information.




          L'utilité de Deferred semble être surtout pour des scripts complexes...
          Cela permet de faire des actions asynchrones, tout en permettant à l'utilisateur de gérer les callbacks de manière simple.

          Lorsque tu crées un objet Deferred, tu pourras décréter quand tu veux qu'il est "resolved" (succès) ou "rejected" (échec).
          Tu appelleras promise() dans le return pour permettre à l'utilisateur de récupérer un objet qui, grâce au chaînage, lui permettra de fournir ses callbacks pour les deux états sus-cités.

          Si tu n'envisages pas de développer un gros plugin jQuery, tu n'auras peut-être jamais besoin de créer un objet Deferred.

          Mais vu que maintenant, les méthodes d'Ajax de jQuery sont compatibles (tout du moins en utilisent jQuery.when() ?), tu seras peut-être amené à vouloir utiliser ce mécanisme de callback (avec les fonctions then(), done() et fail()).

          Un des avantages que je constate, par exemple, c'est la possibilité de pouvoir attendre la fin de plusieurs requête Ajax de manière simple. (Voir exemple dans la doc))
          • Partager sur Facebook
          • Partager sur Twitter
            23 mars 2011 à 1:57:18

            Oui en effet j'ai vu 2,3 fois en cherchant, le Deferred avec le $.when et $.done, assez pratique j'ai l'impression, pour faire ce genre de chaîne :

            $.when(fonction1()).done(function(){
                  $.when(fonction2()).done(function(){
                      etc.
            


            merci pour l'explication, et pour le bind aussi, je dois avouer que ça m'avait échapper en lisant la doc

            a+ ;)
            • Partager sur Facebook
            • Partager sur Twitter

            deferred et click.Menu : syntaxe jquery?

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown