2013-04-03 23 views
6

में संख्यात्मक इनपुट के साथ "एंटर" कीप्रेस कैप्चर करें मैं कॉर्डोवा/फोनगैप 2.5.0, नॉकआउट 2.1.0 और jQuery मोबाइल 1.3.0 का उपयोग करके एक एंड्रॉइड एप्लिकेशन बना रहा हूं।एंड्रॉइड/कॉर्डोवा/नॉकआउट

मैंने "संख्या" प्रकार के साथ एक इनपुट बनाया है, यह इनपुट नॉकआउट के मूल्य के साथ डेटाबेस है। यह एक महत्वपूर्ण प्रेस घटना के लिए भी डेटाबेस है। मैं दबाकर कुंजी दर्ज करने वाले उपयोगकर्ता को पकड़ने का इरादा रख रहा हूं।

<input type="number" data-bind="value: $root.myInputValue, event: { keypress: $root.myInputKeypress }" min="0" step="1" max="29"> 


self.myInputKeypress = function() { 
    var keyCode = (event.which ? event.which : event.keyCode); 

    alert(keyCode); 

    if (keyCode === 13) { 
     //Do work here 

     return false; 
    } 

    return true; 
}; 

जब मैं एक अनुमति कुंजी दबाता हूं जैसे कोड की अपेक्षा की जाती है और दबाए गए कुंजी कोड को सतर्क किया जाता है। जब मैं दबाता हूं तो कीबोर्ड पर दर्ज करें, ऐसा कुछ नहीं होता है, ऐसा लगता है कि एंड्रॉइड उन कुंजी से ईवेंट दबा रहा है जो सोचते हैं कि प्रासंगिक नहीं हैं।

क्या इस व्यवहार को बदलने का कोई तरीका है ताकि मैं पर दर्ज कर सकूं?

+0

कृपया जांच करें कि क्या कुंजी कोड यह backspace कुंजी के लिए देता है। – SHANK

+0

हाय, बैकस्पेस के लिए कोई भी कुंजी कोड वापस नहीं किया जाता है (यह +, *, - जैसे कुंजी पर लागू होता है)। लगता है कि एंड्रॉइड कुंजी के लिए कुंजी प्रेस दबा रहा है, ऐसा लगता है कि यह संख्यात्मक इनपुट पर लागू नहीं होता है। –

+2

मैंने अन्य स्थानों में भी इसी तरह के व्यवहार को देखा है। मैंने जो पाठ पढ़ा है, उसके अनुसार एंड्रॉइड गैर-दृश्यमान पात्रों के लिए प्रमुख प्रेस दबा रहा है। – SHANK

उत्तर

0

इस jQuery मोबाइल का उपयोग कर

$('.ui-input-text').live('keyup', function(event) { 
if (event.keyCode == 13) { 
    // 'Go' pressed do something 
}}); 
0

हाय प्रपत्र टैग

<form id="Articleform" name="Article"> 
          <input type="number" data-bind="value: $root.myInputValue, event: { keypress: $root.myInputKeypress }" min="0" step="1" max="29"> 
         </form> 

में अपने पाठ बॉक्स रखो और घटना विधि जोड़ tage प्रस्तुत अपनी स्थिति में काम कर सकता था की कोशिश

$(document).ready(function() { 
    $("#Articleform").on('submit', function (event) { 
     alert("enter"); 
     return false; 
    }); 

जब आप गो अलर्ट पर क्लिक करें

0

मैं एक ही मुद्दा था, समस्या नंबर क्षेत्र में प्रवेश के लिए कीकोड 9 अपने डिवाइस पर है के साथ था, सिम्युलेटर पर यह 13.

यह मेरे लिए काम करता है:

$('.ui-input-text').live('keyup', function(event) { 
if (event.keyCode == 9) { 
    // 'Go' pressed do something 
}}); 
1

आप उपयोग कर रहे हैं आयोनिक/कोणीय

<input ng-keypressed="myKeyPressed($event)" ng-model="myField"> 

self.myKeyPressed = function(keyEvent) { 
    if(keyEvent.keyCode == 13) //do things 
}