मुझे आश्चर्य है कि यह एक जावास्क्रिप्ट इवेंट श्रोता को मजबूर करने के लिए संभव है, बिना शर्त निष्पादित करने के लिए सशक्त बल हो सकता है, फिर आगे की स्थिति को निष्पादित करने के लिए इसकी स्थिति को सुनना जारी रखें?बल जावास्क्रिप्ट EventListener एक बार निष्पादित करने के लिए?
उत्तर
यदि आप एक समारोह में कोड लपेट, बस पृष्ठ लोड पर फ़ंक्शन को कॉल
उदाहरण जोड़ने के लिए संपादित:
पता नहीं क्या आपके घटना, लेकिन यहाँ है एक उदाहरण है:
<a ..onclick='someFunction()'>click</a>
<script type='text/javascript'>
function someFunction() {
// do whatever
}
// call the function
someFunction();
</script>
यदि आपको किसी विशेष संदर्भ में फ़ंक्शन की आवश्यकता है, तो आप jQuery की प्रॉक्सी() विधि का उपयोग कर सकते हैं http://api.jquery.com/jQuery.proxy/ – KOGI
यदि मैं आपके प्रश्न को सही ढंग से समझता हूं, तो आप केवल एक घटना को एक समय में संभालना चाहते हैं (यदि कोई घटना तेजी से उत्तराधिकार में कई बार आग लगती है, तो आप केवल उनमें से एक को संभालना चाहते हैं) फिर एक बार हैंडलर पूरा होने के बाद, आप सुनना जारी रखेंगे अधिक घटनाएं सही बात?
jQuery एक .one() विधि api.jquery.com/one
यह केवल घटना एक बार संभालती है, लेकिन अगर आप हैंडलर में घटना फिर से बाँध, तो यह के रूप में आप चाहते हैं कार्य करेंगे है।
function handler()
{
// do stuff
$(this).one('click', handler);
}
$('.someElement').one('click', handler);
var clickFunction = function (event) {
//do some stuff here
window.removeEventListener('click',clickFunction, false);
};
window.addEventListener("click", clickFunction, false);
यह आपको clickFunction एक बार सक्रिय, के रूप में बंद के जादू removeEventListener clickFunction ढूँढते हैं करने देगा।
कुछ सरल करने के लिए पुस्तकालय का उपयोग करने की आवश्यकता नहीं है।
यदि आपको इस पैटर्न का उपयोग करने की आवश्यकता है तो यह जल्दी से एक समस्या बन जाती है एक कोड में दो बार। यह सीएसएस एनीमेशन संदर्भों में बहुत आम है जहां आपके पास एनीमेशन है "हुक ट्रांजिशनेंड, सेट चेंज, ट्रांजिशनेंड खुद को हटा दें", और अक्सर आपको इसे चेन करना पड़ता है। Http://hastebin.com/ikixonajuk.coffee के समान एक पैटर्न कहीं अधिक रखरखाव योग्य है। नोडजेएस में इसे सिर्फ "एक बार" कहा जाता है। – Dmitry
1. 2011 में जब उत्तर मूल रूप से पोस्ट किया गया था, तो एक बार उपलब्ध नहीं था। 2. यह मूल प्रश्न में क्लाइंट साइड कार्यान्वयन प्रश्न है इसलिए nodejs उपयोगी नहीं है 3. आपकी कॉफी स्क्रिप्ट अनिवार्य रूप से मामूली संशोधन के साथ एक ही विचार है। – Jlam
अब ब्राउज़र में अब एक बार उपलब्ध है या फिर भी हमें इसका आविष्कार करना है/इसके लिए ब्लूटेड तृतीय पक्ष पुस्तकालयों का उपयोग करना है? – Dmitry
- 1. निष्पादित करने के लिए एक IQueryable बल?
- 2. जावास्क्रिप्ट में गैर डोम तत्वों के लिए EventListener कैसे जोड़ें?
- 3. जावास्क्रिप्ट को दो बार निष्पादित करने से रोकें
- 4. स्लाइड एक बार में दो बार निष्पादित करने के लिए टॉगल
- 5. डेल्फी में जावास्क्रिप्ट को निष्पादित करने के लिए कैसे?
- 6. बल जावास्क्रिप्ट/AJAX/jquery
- 7. NHibernate: EventListener "PreUpdateEvent"
- 8. curl_close() को एक बार या बार निष्पादित करने के बीच अंतर?
- 9. एक बार विधि निष्पादित करना संभव है?
- 10. अप्रयुक्त साझा लाइब्रेरी के खिलाफ लिंक करने के लिए बल
- 11. Gradle का उपयोग कर एक ही कार्य में JavaExec कई बार निष्पादित करने के लिए कैसे?
- 12. किसी ब्राउज़र के पता बार से जावास्क्रिप्ट को निष्पादित करने से कैसे रोकें?
- 13. एकाधिक इंस्टॉलेशन निष्पादित करने के लिए इंस्टॉलर
- 14. एक बड़ी PHP स्क्रिप्ट निष्पादित करने के लिए कैसे?
- 15. जावास्क्रिप्ट बुकमार्कलेट यूआरएल के लिए जाने के लिए और निष्पादित
- 16. आईपैड पर बल अभिविन्यास - जावास्क्रिप्ट
- 17. उन्नयन के बिना एक ऐप निष्पादित करने के लिए कैसे?
- 18. मेवेन चरण दो बार निष्पादित
- 19. संदेशबॉक्स को प्रोग्रामेटिक रूप से बंद करने के लिए बल
- 20. तत्व को लोड करने के बाद फ़ंक्शन निष्पादित करने के लिए जावास्क्रिप्ट को कैसे बताना है?
- 21. जेपीक्यूएल क्वेरीज़ निष्पादित करने के लिए टूल?
- 22. एक चर में संग्रहीत आदेश निष्पादित करने के लिए कैसे?
- 23. एसक्यूएल/सी # - एक प्रश्न निष्पादित करने के लिए सर्वोत्तम विधि
- 24. एक ही पंक्ति में एकाधिक कमांड निष्पादित करने के लिए
- 25. जावास्क्रिप्ट कोड निष्पादित करने के लिए लिंक के लिए उचित तरीका
- 26. एसिंक्टास्क को कई बार निष्पादित करने से रोकें
- 27. सी # सेवा में कोड एक ही घंटे में प्रति दिन एक बार निष्पादित करने के लिए कैसे करें?
- 28. यह सुनिश्चित करने के लिए कि एक तर्क तर्क प्रति तर्क संयोजन केवल एक बार निष्पादित किया जाता है?
- 29. क्या जावास्क्रिप्ट बल विशिष्ट वर्णमाला है?
- 30. फ़ंक्शन को बार-बार कॉल करने के लिए फ़ंक्शन?
"बिना शर्त के सत्य" ... क्या स्थिति? इसके अलावा, अगर यह एक बार आग लग जाएगा, तो सुनना जारी रखें, फिर संभवतः फिर से आग लगाना, फिर ... यह एक बार फायरिंग नहीं कर रहा है। जब तक आप का मतलब नहीं है कि आप कभी भी एक समय में एक घटना को संसाधित करना चाहते हैं (एकाधिक एक साथ नहीं)? – KOGI
क्या आप जावास्क्रिप्ट ढांचे का उपयोग कर रहे हैं? मुझे लगता है कि एक्स्टजेस में यह संभव है। JQuery में भी हो सकता है। – Marc
jQuery में एक .one() विधि है, लेकिन मुझे यकीन नहीं है कि यह वही है जो आप खोज रहे हैं। हालांकि, आप केवल हैंडलर में ईवेंट को फिर से बांध सकते हैं। यह एक साथ घटनाओं को संभालने का असर नहीं होगा, फिर हैंडलर पूरा होने के बाद, घटना को फिर से सुनना शुरू करें। http://api.jquery.com/one/ – KOGI