Lorsqu'un utilisateur non logined clique sur un bouton donné, je veux arrêter l'événement, recueillir son OAuth, récupérer son e-mail si je ne l'ai pas, puis exécutez la un événement. Je veux tout faire en javascript parce que cela rendrait les choses beaucoup plus simples.passant Élégamment un « clic événement » par plusieurs callbacks
Voilà comment je suis l'exécuter, et j'ai 2 questions:
- Y at-il une façon plus élégante de faire plusieurs callbacks de niveau?
- La façon dont je déclenche l'événement à la fin semble hackish. Quelle pourrait être une meilleure façon de le faire?
jQuery("a.callbacktesting").click(function(event){ if (success==false){ event.preventDefault(); event.stopImmediatePropagation(); authentication({endevent:event,followup:afterEmail},collectEmail, failFn); } }); //1st level function function authentication(params, successFn, failFn){ if (success=true){ successFn(params,params.followup,failFn); }else{ failFn(); } } //2nd level function function collectEmail(params, successFn, failFn){ console.log("Collecting email"); if (success=true){ successFn(params); }else{ failFn(); }; } //After everything is done, you want to execute this function afterEmail(params){ jele=$(params.endevent.currentTarget) action=params.endevent.type jele.trigger(action); }
Hmmm, c'est-ce que je l'ai fait - endEvent: événement, je mets l'événement directement comme param. Le problème est de savoir comment je peux stocker l'événement click en tant que variable et l'exécuter. Je ne trouve pas de commande (event.XXX) pour l'exécuter –