के माध्यम से सुंदरता से "क्लिक इवेंट" पास कर रहे हैं जब कोई गैर-लॉग इन उपयोगकर्ता किसी दिए गए बटन पर क्लिक करता है, तो मैं ईवेंट को रोकना चाहता हूं, अपना ऑउथ इकट्ठा करना चाहता हूं, अगर मेरे पास नहीं है तो उसका ईमेल इकट्ठा करें, और उसके बाद निष्पादित करें घटना।कई कॉलबैक
मैं जावास्क्रिप्ट में सबकुछ करना चाहता हूं क्योंकि इससे चीजें अधिक सरल रहती हैं।
यह मैं इसे कैसे क्रियान्वित कर रहा हूँ, और मैं 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) नहीं मिल रहा है –