यह एक HTML संख्या एक Android वेब दृश्य एचटीएमएल 5 एप्लिकेशन पर एक Android नरम कीबोर्ड का उपयोग कर क्षेत्र में "अक्षम" अवधि कुंजी करना संभव है?

वोट
0

जब मैं के लिए softKeyboard पर keycodes जाँच [।] [-] [], जावास्क्रिप्ट में e.key अज्ञात है और e.keyCode उन अक्षरों के सभी के लिए 229 है।

डिवाइस मैं उपयोग कर रहा हूँ एक TC52k स्कैनर है और स्कैन ट्रिगर एक ही कुंजी और कीकोड है ... तो यह पूरी तरह से निष्क्रिय नहीं किया जा सकता है।

मैं नहीं पता है कि कितने बातें मैंने कोशिश की है कि काम नहीं किया था ... लेकिन मैं कुछ पोस्ट करेंगे ...

यह JSON ऑब्जेक्ट का उपयोग कर rivets.js साथ आबद्ध एक गतिशील क्षेत्र है

$(document).on(keydown, .qty-input, function(e) {
    let code = e.keyCode;
    if (code == 229 && $(this).val().charAt(str.length - 1) == .) {
        $(this).val($(this).val().slice(0, -1));
    }
});

^ मूल रूप से, कि का कहना है कि प्रवेश किया स्ट्रिंग का अंतिम वर्ण कोई है अगर अंतिम वर्ण कोड 229 है और '।', तो बंद अंतिम वर्ण कटौती ... लेकिन सही ढंग से काम नहीं करता है।

मैं भी इस कि मूल रूप से कहते हैं किया था केवल कुंजी है कि 48 और 57 के बीच keycodes जो एंड्रॉयड नरम कीबोर्ड पर कुंजियों 1-9 कर रहे हैं स्वीकार करने के लिए।

<input class=qty-input placeholder=0 type=number min=0 step=1 onkeypress=return event.charCode >= 48 && event.charCode <= 57 && event.keyCode != 229 pattern=[0-9]* autofocus>

इसके अलावा काम नहीं किया ...

किसी को भी इस और कर सकते हैं मदद से अनुभव है? मैं वहाँ इस बारे में अनसुलझी पदों के बहुत सारे ऑनलाइन पता है। यह अंत में मैं क्या करना है और उसके तैनात किए जाने से मेरे ऐप रखने!

इसके अलावा ... मैं इन घटनाओं का उपयोग कर समारोह की कोशिश की है: KeyUp, keydown, परिवर्तन, इनपुट और कुंजी दबाने ...

13/02/2020 को 22:06
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
0

यहाँ सबसे अच्छा वैकल्पिक हल है कि मैंने पाया (के बाद से 229 को भी 'स्कैनर' ट्रिगर से चलाता है, मैं पता लगाने के लिए कि क्या एक स्ट्रिंग एक बारकोड और एक मात्रा भी शामिल है और एक के लिए दो (कीकोड अलग करना होगा [.]फिर से के रूप में ही है स्कैनर ट्रिगर के लिए कीकोड)) 2 की स्थिति 2 बातें निर्धारित:

यदि मान 3 से अधिक लंबी है, तो यह एक मात्रा के रूप में क्योंकि मात्रा से अधिक नहीं हो सकता है '500' की अनुमति नहीं है इसलिए जब यह लंबाई 5 से अधिक समय है, यह एक बारकोड माना जाता है।

let oldVal = '';
let newVal = '';
let barcode = '';
$(document).on("keydown", "input.received-qty", function(e) {
    let code = e.keyCode || e.which || e.charCode;
    oldVal = $(this).val();
});

$(document).on("keyup", "input.received-qty", function(e) {
    let code = e.keyCode || e.which || e.charCode;
    newVal = $(this).val();
    if (code == 229 && e.target.value.length >= 3) {
        barcode = $(this).val().slice(oldVal.length - 1, -1);
        $(this).val(oldVal);
    } else if (code == 229 && e.target.value.length <= 3) {
        let x = oldVal.replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g, "");
        $(this).val('');
        $(this).val(x);
    }
    console.log("oldVal : ", "[", oldVal, "]", "newVal : ", "[", $(this).val(), "]");
});

यह सबसे अच्छा तरीका है मैं अब तक की कोशिश की है है।

18/02/2020 को 19:35
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more