2011-10-12 10 views
5

क्या अन्य बाध्य घटनाओं को उसी ऑब्जेक्ट (उदा। टेक्स्टबॉक्स) को पहले आग/ट्रिगर करने की अनुमति देने का कोई तरीका है?अन्य बाध्य तत्व घटनाओं को पहले ट्रिगर करने दें?

कहें कि 2 ईवेंट एक ही टेक्स्टबॉक्स से बंधे हैं। दोनों कीप घटनाएं। मेरे मामले में एक प्लगइन अपनी घटनाओं को बाध्यकारी करता है, लेकिन जिस तरह से कोड लिखा जाता है, मेरा पहला बंधन होता है। मैं नहीं चाहता कि मेरा पहले आग लग जाए।

$("#firstname").keyup(function() { 
    // ...is there anyway to allow the other keyup event to fire first, from here? 
    // do my work here... 
} 

$("#firstname").keyup(function() { 
    // the plugin work. 
} 

मुझे कीप का उपयोग करने की आवश्यकता है, पहले से ही महत्वपूर्ण घटनाएं हैं।

उत्तर

1

आपको वास्तव में उस कोड को बाध्यकारी करने के लिए अपने कोड को फिर से लिखना चाहिए, लेकिन यदि यह संभव नहीं है, तो आप इसे सेफफोर्स से गंदे कर सकते हैं और बाध्यकारी से अपनी कार्यक्षमता को अलग कर सकते हैं ताकि इसे किसी भी प्रकार से बांध दिया जा सके। ..

var semaphore = 0; // on init 

$("#firstname").keyup(function() { // this one should run first 
semaphore++; 

if (semaphore === 0) { 
    first_action(); 
} 
} 

$("#firstname").keyup(function() { // this one should run second 
if (semaphore > 1) { // you know the first event fired 
    second_action(); 
} 
else if (semaphore < 1) { 
    first_action(); 
    second_action(); 
    semaphore++; 
} 
} 
संबंधित मुद्दे