मुझे लगता है कि कम से कम एक मामला देख रहा है जहां एक jQuery प्रभाव फ़ंक्शन में पास किया गया कॉलबैक फ़ंक्शन बार-बार निष्पादित होगा यदि इसे निष्पादित करते समय कोई त्रुटि हो।jQuery कॉलबैक स्पष्ट रूप से विफलता पर दोहराना?
उदाहरण के लिए, this JS Fiddle देखते हैं, निम्नलिखित कोड की विशेषता:
$('#awesome').fadeOut(400,function() {
log('fading out...');
dieInAFire();
});
log
संलग्न कर देता है जो कुछ भी एक div करने के लिए इसे के लिए पारित किया है ... लेकिन dieInAFire
मौजूद नहीं है। इसके बजाय निष्पादन को रोकना, हालांकि, अज्ञात फ़ंक्शन को ओवर-ओवर कहा जा रहा है, जैसा कि लॉग div में 'fading out ...' की उपस्थिति की बढ़ती संख्या से प्रमाणित है।
क्या यह अपेक्षित व्यवहार है? यदि हां, तो क्यों?
अद्भुत खोजों के साथ यह जगह ले सकता है का उपयोग करते हैं ... :-) मेरे लिए यह बिल्कुल भी उम्मीद नहीं है। – HBublitz
यह एक jQuery बग की तरह दिखता है। – Emil
बहुत अजीब, ऐसा लगता है कि एनीमेशन के साथ कुछ करना है। AJAX कॉलबैक में यह समस्या नहीं है, और यदि कोई एनीमेशन नहीं है तो यह कॉलबैक ठीक है। आईई अगर तत्व में पहले से ही स्टाइल 'डिस्प्ले है: कोई नहीं;' कॉलबैक को बिल्कुल एक बार कहा जाता है। FadeIn() भी – Paulpro