如何添加Javascript侦听器以捕获从蓝牙条码扫描器到iPad的输入?
作者:互联网
我在iPad上用javascript记录击键时遇到问题.以下脚本适用于Chrome和Safari,但不适用于iPad Safari.蓝牙条码扫描器发送12位数作为击键,然后发送返回字符.有没有人有任何想法?
我想你需要一个iPad试试这个:)
谢谢,
标记
$(document).ready(function(){
$(document).keypress(function(e){
if( e.keyCode == 13){
alert($('#barcode').attr('value'));
$('#barcode').attr('value','');
}
else{
var key = String.fromCharCode(e.which);
var new_val = $('#barcode').attr('value') + key;
$('#barcode').attr('value',new_val);
}
});
});
解决方法:
Safari for iOS不会在不是表单组件的DOM元素上触发键盘事件.这包括通常用于捕获页面上任何位置的击键的文档和正文.
触发页面文档或正文上的击键事件的唯一方法是在输入或文本区域中触发它.在这种情况下,事件将正确地“冒泡”到正文和文档.
但是,这可能是一个问题,因为iOS for Safari不允许我们从javascript中提供元素焦点.
目前,我们正在使用一种解决方案,用户必须在开始第一次扫描之前单击输入字段,然后将输入字段移出屏幕外但仍保持焦点.
如果有人有更好的解决方案,请分享.
标签:jquery,php,javascript,ipad,barcode-scanner 来源: https://codeday.me/bug/20190626/1298997.html