क्या कोई जावास्क्रिप्ट फ़ंक्शन हर एचटीएमएल बटन को दबाए जाने वाले हर मिलीसेकंड को दोहराता है? यह बहुत अच्छा होगा अगर यह मानक जावास्क्रिप्ट के साथ किया जा सकता है, लेकिन jQuery या jQuery प्लगइन का उपयोग करना भी बहुत अच्छा होगा।माउस दबाए जाने पर जावास्क्रिप्ट दोहराएं
उत्तर
mousedown()
ईवेंट पर, यह कोड एक दोहराव टाइमर (इस उदाहरण में हर 500ms) शुरू होता है जिसे mouseup()
ईवेंट होने पर रद्द कर दिया जाता है। यह आप क्या चाहते हैं के लिए अनुकूल होना चाहिए:
var intervalId;
$("#button").mousedown(function() {
intervalId = setInterval(do_something, 500);
}).mouseup(function() {
clearInterval(intervalId);
});
function do_something() {
// whatever
}
टाइमर साफ करने के बारे में अधिक जानकारी के लिए setInterval()
देखें।
मैं माउस पर कॉल किए जाने वाले फ़ंक्शन के भीतर जावास्क्रिप्ट फ़ंक्शन setInterval()
का उपयोग करूंगा।
<input type="button" id="button" onmousedown="inter=setInterval(startAction, 1*1000);"
onmouseup="clearInterval(inter);" value="click here" />
<script type="text/javascript">
function startAction(){
//whatever you want done
}
</script>
मुझे ऊपर सूचीबद्ध दोनों समाधानों के साथ एक समस्या दिखाई देती है।
onmouseup
केवल तब ट्रिगर किया जाता है जब बटन बटन पर होने पर जारी किया जाता है। यदि उपयोगकर्ता माउस को नीचे रखता है तो उसे जारी करने से पहले माउस को दूर ले जाता है तो clearInterval
कभी नहीं निकाल दिया जाता है और इसलिए do_something
हमेशा के लिए आग लग जाएगा।
आप किसी अन्य घटना, "onmouseout
", वह भी clearInterval
कॉल जोड़ने के लिए की आवश्यकता होगी।
सच है लेकिन कृपया नमूना कोड जोड़कर इसे पूरा उत्तर दें। –
var intervalId;
$("#button").mousedown(function() {
intervalId = setInterval(do_something, 500);
}).mouseup(function() {
clearInterval(intervalId);
}).mouseleave(function() {
//this should help solve the problem that occurs when the mouse leaves the button while pressed down
clearInterval(intervalId);
});
function do_something() {
// whatever
}
- 1. लंबे समय तक बटन दबाए जाने पर एक क्रिया दोहराएं
- 2. बटन दबाए जाने पर थ्रेड कैसे शुरू करें और फिर दबाए जाने पर इसे रोकें?
- 3. बटन दबाए जाने पर कई कमांड हैं
- 4. एंटर दबाए जाने पर फॉर्म सबमिट करें
- 5. एंड्रॉइड एक बटन दबाकर और दबाए रखने पर कार्रवाई दोहराएं
- 6. इनपुट प्रकार बटन दबाए जाने पर रंग बदलता है?
- 7. मैक ब्राउज़र पर मेटाकी दबाए जाने पर जावास्क्रिप्ट ड्रॉप कुंजी अप ईवेंट क्यों करता है?
- 8. डब्ल्यूपीएफ को दबाए जाने के लिए माउसडिवाइस को
- 9. बटन दबाए जाने के बाद हर 10 मिनट में एक विधि दोहराएं और इसे किसी अन्य बटन पर दबाएं
- 10. jQuery - बटन दबाए जाने पर काउंटर के मूल्य को बढ़ाएं
- 11. बटन दबाए जाने पर बार-बार कुछ कैसे करें?
- 12. बटन दबाए जाने पर फ़ंक्शन को कॉल करें - pyqt
- 13. बैक बटन दबाए जाने पर मैं गतिविधि को कैसे मारूं?
- 14. एंड्रॉइड - बटन दबाए जाने पर लेआउट में टेक्स्टव्यू जोड़ें
- 15. F5 दबाए जाने पर ऑटो-बिल्ड सक्षम करें और स्रोत
- 16. बैक बटन दबाए जाने पर ऐप को कैसे सहेजें
- 17. बटन दबाए जाने पर तत्व को फोकस कैसे न खोएं?
- 18. वापस बटन दबाए जाने पर राज्य को सहेजें
- 19. दोहराएं
- 20. कुंजी या संयोजन दबाए जाने पर पृष्ठभूमि में किसी प्रोग्राम से कैसे जांचें?
- 21. कॉम्बोबॉक्स कैसे गिराए जाने पर माउस को कैप्चर करता है?
- 22. माउस या कुंजी द्वारा चुने जाने पर कैसे पता लगाएं?
- 23. मैं प्रेस जावास्क्रिप्ट को दबाकर दबाए रखूं?
- 24. दोहराएं
- 25. दोहराएं
- 26. दोहराएं
- 27. मैं पिक्चरबॉक्स पर एक दबाए गए माउस बटन का पता कैसे लगा सकता हूं?
- 28. माउस कर्सर को माउस पर कैसे पकड़ें?
- 29. दोहराएं
- 30. क्रोम जावास्क्रिप्ट डीबगर, रोके जाने पर, पृष्ठ
यदि आप तुरंत घटना होने की इच्छा रखते हैं, और प्रत्येक 500 मिलीसेकंड, बस सेट इंटरवल को कॉल करने से पहले 'do_something()' को कॉल करें। –
@TylerCollier इंगित करने के लिए धन्यवाद। फिर यह क्लिक इवेंट और बार-बार कार्रवाई की तरह काम करता है। बेहद सुविधाजनक। मेरे मामले में मुझे पैरामीटर पास करना पड़ा, इसके लिए आपको एक अनाम फ़ंक्शन असाइन करना होगा: 'setInterval (function() {myfunction (valueA, valueB);}, 500); ' –
@TylerCollier कोई मुझे बता सकता है कि क्यों नहीं यह रुक गया? http://jsfiddle.net/oxpku7f1/1/ – Arbaaz