2014-09-28 8 views
23

जब Swiftkey की तरह एक 3 पार्टी कुंजीपटल जावास्क्रिप्ट कुंजी दबाने तरह की घटनाओं रजिस्टर नहीं है का उपयोग कर। उदाहरण के लिए Google नक्शे स्वत: पूर्ण काम नहीं करेगा https://developers.google.com/maps/documentation/javascript/examples/places-autocompleteiOS 8 3 पार्टी कीबोर्ड जावास्क्रिप्ट/jQuery KeyUp, कुंजी दबाने, रजिस्टर नहीं है keydown आदि

आईओएस बग की तरह लगता है लेकिन मैं इस बारे में किसी भी विचार को कैसे प्राप्त कर सकता हूं?

+0

से एक समाधान setInterval का उपयोग करने और जवाब विधि पाया मैं एक ही मुद्दा है। मैं खुद को जांचने के लिए एक छोटा कीबोर्ड विकसित करता हूं और अभी भी एक ही समस्या है। मुझे लगता है कि ऐसा इसलिए है क्योंकि आईओएस 8 युवा है। – ababab5

+1

मेरे पास स्वैप का उपयोग करके एंड्रॉइड पर एक ही समस्या है, जो कॉर्डोवा हाइब्रिड ऐप्स विकसित कर रहा है। – njtman

+0

क्या आपने एक और 'प्रकार' या 'पैटर्न' विशेषता सेट करने का प्रयास किया है? यह देशी कीबोर्ड का उपयोग करने के लिए मजबूर हो सकता है ब्राउज़र .. – lloiser

उत्तर

4

इस काम चाहेंगे?

jQuery('#text_box').on('input propertychange paste', function() { 
    // text has changed... 
}); 

JSFIDDLE

+0

दुर्भाग्य से नहीं ... वर्णनात्मक टिप्पणी के लिए – kylex

+1

@kylex धन्यवाद उपयोग करने की कोशिश। –

+0

क्षमा करें, यह तीसरे पक्ष के कीबोर्ड के साथ काम नहीं करता है। स्वैप (उदाहरण के लिए) का उपयोग करते समय टाइप करते समय, कार्रवाई कभी ट्रिगर नहीं होती है। यह तब तक नहीं है जब तक कि हम बॉक्स पर ध्यान न दें कि हम परिवर्तन पंजीकृत हैं। – kylex

4

तुम बस मैन्युअल रूप से कुंजी दबाने घटनाओं आग कर सकते हैं।

$textBox = $('#text_box') // We don't want to search the dom more than we have to. 
setInterval(function(){ 
    $textBox.trigger('keypress') 
}, 500) 

यह निश्चित रूप से एक गंदा समाधान है, लेकिन यह काम करने के लिए स्वत: पूर्ण, साथ ही अन्य संचालकों कि keypresses के लिए प्रतीक्षा मिलना चाहिए।

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