Cai*_*der 6 html javascript jquery input barcode-scanner
我有一个HTML输入
<input type="text" id="txtInput">
Run Code Online (Sandbox Code Playgroud)
我需要禁用所有键盘输入键,只允许条形码扫描器获取条形码数据并用输入填充.
我试过"readonly"和"disabled"以及javaScript keydown,但所有这些解决方案都禁用了包括条形码扫描器在内的所有内容.
有没有办法做到这一点?
首先,您需要了解条形码扫描仪假装是键盘.因此,它们将像真正的键盘一样触发JS击键事件.我能想到分离2的唯一方法是基于时间的启发式(这个想法是没有人能在不到0.1秒的时间内输入整个10位数的条形码).
所以基本上,你会有一些javascript可以做这些事情:
这会很难看,但如果你真的很绝望,它可能会奏效
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
$("#txtInput").on("input", function() {
delay(function(){
if ($("#txtInput").val().length < 8) {
$("#txtInput").val("");
}
}, 20 );
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5444 次 |
| 最近记录: |