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

来源:互联网 发布:java中方法什么意思啊 编辑:程序博客网 时间:2024/05/16 12:34

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;}}});

 
原创粉丝点击