欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js手动输入和扫描输入的区分

程序员文章站 2022-06-14 23:04:02
...

js中判断input输入框是手动输入的,还是扫描输入的,

最好的方法是判断设备来源,但是我没有找到这个方法,自己写了一个,废话不多说上代码

(我的代码中不知道为什么用不了change事件,所以用的input,
然后扫描会自动触发一个回车,判断回车事件如果大于2秒,就为手动输入的.
还有一个问题,如果是粘贴上去的肯定会小于2秒,所以再加上onpaste="return false",可以加到input上,如果整个表单都不允许粘贴,也可以放到<body>里面)


//记录手动输入开始时间
var startTime;
//记录手动输入开始次数,第二次不触发
var count = 0;
//条码扫描不允许手动输入
$("#inputBatchCod").on('input',function(){
	count++;
	if(count == 1){
	startTime = new Date().getTime();
	}
});
$('#inputBatchCode').keydown(function(e){
	if(e.keyCode==13){
		//记录手动输入结束时间
		var endTime = new Date().getTime();
		if(endTime - startTime > 2000){
			alert("不允许手动输入!");
			$("#inputBatchCode").val("");
			$("#inputBatchCode").focus();
			count = 0;
			return;
		}
				
	}
});





相关标签: javascript