2010-10-15 7 views
69

बस सोच रहा है कि क्या किसी को क्या घटनाओं एक HTML5 <input type="number" /> तत्व सक्रिय होता है अपने ऊपर/नीचे तीर क्लिक किया:जब मूल्य मानता है तो <इनपुट प्रकार = "संख्या" /> आग क्या होती है?

example number input

मैं पहले से ही जब फोकस इनपुट क्षेत्र छोड़ देता है के लिए एक onblur उपयोग कर रहा हूँ।

उत्तर

51

change वह ईवेंट होगा जो क्षेत्र के मूल्य में परिवर्तन होने पर निकाल दिया जाएगा।

मुझे लगता है कि HTML5 ईवेंट input भी आग लग जाएगा।

+20

'अप' और 'डाउन' तीरों पर क्लिक होने पर केवल 'ऑनिनपुट' निकाल दिया जाता है। –

+2

लेकिन बदले में केवल धुंध पर आग लगती है, कम से कम फ़ायरफ़ॉक्स में। मुझे लगता है हमें मुख्य प्रेस की तलाश करनी होगी। – andho

+0

ऑनचेंज और ऑनपूट दोनों ओपेरा में काम करते थे, लेकिन केवल ऑनिनपुट क्रोम में काम करेगा (और तभी जब मैं ईवेंट-हैंडलर से झूठा लौटाता हूं - अन्यथा क्रोम बार-बार ऑनिनपुट ईवेंट को आग लगा देगा) –

3

onchange घटना धुंध पर आग लगती है लेकिन oninput घटना आपके द्वारा टाइप की जाती है। हो सकता है कि आप oninput ईवेंट पर टाइमर डालें और अपने onchange ईवेंट को आग लगाना चाहें जब उपयोगकर्ता ने दूसरे के लिए टाइप करना बंद कर दिया हो?

5

मैंने पाया कि onkeyup और onchange कवर सब कुछ क्रोम 19. में यह प्रत्यक्ष मूल्य इनपुट, ऊपर नीचे तीर कुंजी दबाने, बटन क्लिक करके और माउसव्हील स्क्रॉल संभालती है।

onchange अकेले क्रोम में पर्याप्त होगा, लेकिन अन्य ब्राउज़र जो केवल टेक्स्ट बॉक्स के रूप में फ़ील्ड प्रस्तुत करते हैं, onkeyup बाध्यकारी की आवश्यकता है, जो नए मान को पढ़ने के लिए पूरी तरह से काम करता है।

mousewheel ईवेंट बाध्यकारी अलग-अलग सफल था। घटना को बहुत जल्दी शुरू किया गया - इससे पहले फ़ील्ड मान अपडेट किया गया था - और इसलिए हमेशा फ़ील्ड का पिछला मान

+0

के बीच एक संलयन की तरह है यह फ़ायरफ़ॉक्स के लिए भी सच है। –

28

मैंने पाया कि jQuery के लिए निम्नलिखित कोड में कीबोर्ड इनपुट, मूसहेल परिवर्तन और क्रोम में बटन क्लिक शामिल हैं, और कीबोर्ड इनपुट भी संभाला गया है फ़ायरफ़ॉक्स

में
$("input[type=number]").bind('keyup input', function(){ 
    // handle event 
}); 
+1

उसमें 'परिवर्तन' जोड़ें और यह सही है। आप अभी भी इसमें बाहरी परिवर्तनों को सुनना चाहते हैं, और वैसे भी इसे जोड़ने में कोई हानि नहीं है। –

+0

और यदि आप इनपुट फ़ील्ड के अंदर स्क्रॉल ईवेंट को चुनना चाहते हैं तो 'mousewheel' भी। –

+1

ध्यान दें कि '.bind()' अब '.on()' के पक्ष में बहिष्कृत है। –

0

एक current bug in Edge रोकने परिवर्तन या जब एक नंबर इनपुट में तीर कुंजियों का उपयोग फायरिंग से इनपुट नहीं है।

संबंधित मुद्दे