मेरे पास एक टेक्स्टबॉक्स है जहां उपयोगकर्ता केवल संख्यात्मक डेटा दर्ज कर सकता है।उपयोगकर्ता इनपुट पर jQuery कीप घटना घटना lagging
$('#ssn').keyup(function() {
var val = this.value.replace(/\D/g, '');
this.value = val;
});
समस्या मैं में चल रहा हूँ
अंतराल जब एक प्रतिबंधित कुंजी पर उपयोगकर्ता चाबी, एक पल के लिए चरित्र को प्रदर्शित करता है इससे पहले कि यह साथ बदल दिया है: मैं पाठ बॉक्स के KeyUp पर निम्नलिखित समारोह का उपयोग कर रहा खाली स्ट्रिंग। और एक कुंजी दबाकर कुंजी जारी होने तक बॉक्स में वर्णों की एक धारा प्रदर्शित होगी। क्या इस व्यवहार को रोकने का कोई तरीका है? मैंने कीबाउन या कीप्रेस जैसी विभिन्न कीबोर्ड इवेंट्स की कोशिश की है और वे किसी भी बेहतर व्यवहार नहीं कर रहे थे। एक जवाब के लिए मेरी टिप्पणी परिवर्तित
बजाय keyup
घटना को सुन, कि घटना के बजाय सक्रिय किया जाता है जब मूल्य परिवर्तन तो input
event को सुनने https://jsfiddle.net/oxpy96g9/
'अंतराल' 'Keyu के रूप में अपरिहार्य है पी 'घटना तब तक आग नहीं होती जब तक कुंजी जारी नहीं होती है और इनपुट इनपुट क्षेत्र में मूल्य जोड़ा जाता है। –
1. jQuery के माध्यम से एक मंदी शुरू की गई है 2. बार-बार परिवर्तनीय घोषणा के माध्यम से एक मंदी शुरू की जाती है 3. जावास्क्रिप्ट रेगेक्स मशीन पर फायरिंग के माध्यम से एक मंदी शुरू की जाती है 4. उपयोगकर्ता द्वारा कुंजी को जारी करने के बाद आपका कोड चलता है, जो ऐसा लगता है एक मंदी सब कुछ, आपने एक गड़बड़ लिखी है। –
इसके बजाय 'इनपुट' ईवेंट को सुनने का प्रयास करें ... '$ (' # ssn ')। (' इनपुट ', फ़ंक्शन() {...}); ' –