当一个非注册用户点击一个给定的按钮时,我想停止事件,收集他的oauth,收集他的电子邮件,如果我没有它,然后执行事件。优雅地通过多个回调传递“点击事件”
我想在JavaScript中做所有事情,因为这会让事情变得更加简单。
这是怎么了执行它,我有2个问题:
- 是否有这样做的多级回调的更优雅的方式?
- 我在最后触发事件的方式似乎是骇人听闻。什么可能是更好的方法来做到这一点?
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); }
嗯,这就是我所做的 - 事件:事件,我把事件直接作为参数。问题是我如何将点击事件存储为变量并执行它。我找不到一个命令(event.XXX)来执行它 – 2010-09-11 21:49:51