最近在做一个项目,其中有个功能需要自动输入数据(扫码枪或者是IC读卡器)。用input每次都会弹出虚拟键盘,非常不方便,然后在论坛里面找到加上readonly就行,实测不行。最后发现扫码枪(部分)、IC读卡器是模拟键盘输入的,就想到了另外一个解决方案。
问题:禁止安卓输入框弹出软键盘
解决思路:用jQuery获取按键值,然后把按键值转换回按键,之后累加到自己想要的数位后可以直接填充到相应位置或操作。
代码如下:
            card_id = "";  
            old_card_id = "";  
            $("body").on("keyup", function(event) {//获取键值  
                old_card_id = "";  
                switch(event.which){//键值转换为所按按键(下面为数字0-9键值)  
                    case 48:  
                    old_card_id = 0;  
                    break;  
                    case 49:  
                    old_card_id = 1;  
                    break;  
                    case 50:  
                    old_card_id = 2;  
                    break;  
                    case 51:  
                    old_card_id = 3;  
                    break;  
                    case 52:  
                    old_card_id = 4;  
                    break;  
                    case 53:  
                    old_card_id = 5;  
                    break;  
                    case 54:  
                    old_card_id = 6;  
                    break;  
                    case 55:  
                    old_card_id = 7;  
                    break;  
                    case 56:  
                    old_card_id = 8;  
                    break;  
                    case 57:  
                    old_card_id = 9;  
                    break;  
                    default:  
                    card_id = "";  
                    document.onkeydown=null;  
                    break;  
                };  
                card_id = card_id + old_card_id;//把转换后的按键累计成字符串  
                if (card_id.length == 10) {//需要的字符个数  
                    console.log(card_id);  
                    alert(card_id);  
                    card_id = "";  
                }if(card_id.length > 10){//本处可不需要,因为我的IC读卡器是18位的,我只需要10位数字,所以这里我过滤了超过10位数字的字符串  
                    card_id = "";  
                }  
            });最后,也许代码有些乱或者冗余。各位需要的小伙伴看一下思路就行。
 
             
             
             
			 
                                                                             
            
3 个评论
要回复文章请先登录或注册
huangzoro
DCloud_UNI_GSQ
潘潘潘潘潘