jQuery keydownイベントを使用してデバイスの入力を処理するWebアプリケーションのスキャナデバイスがあります。これは、すべての古いiPhone(4,5,6)がアップグレード時にkeydownイベントを処理することに問題があるように見えることを除いて、うまくいきました。私が気づいたのは+記号で、その後ほとんどのブラウザがこれを正しく処理しますが、ほとんどのブラウザがこれを正しく処理します...iOS 10のアップグレードによりブルートゥーススキャナでkeydownイベントエラーが発生する
ユーザがEnterキーを押すかスキャナが+キーを押すとトリガーされます。
e.which = 13 || e.which = 187
SAFARIデバッガを実行すると、jQueryセレクタの値が空になります。セレクタのval()に実際にスキャンされたUPCバーコードがあると、iPhoneはキーダウンイベントを渡し、ホットキーiOSキーボードがトリガされます。処理をトリガするためにフォーカスアウトを設定しているので、ユーザは自分のiPhoneでヒットし、セレクタにフォーカスを戻して次の項目をスキャンすることができます。
私たちのユーザーがiPhoneで連続してスキャンできる必要があるため、これは実行可能なソリューションではありません。助言がありますか? DOM要素の値がREGXを渡すかのように
$("input[name='SCAN']").on("keydown",function(e) {
var processRegex = /^([0-9]{7,14}\+?)$/;
//on SCAN (last character is a '+/=') field - reload detail section
if (e.which == 13 || e.which == 187){
scan_val = $.trim($("[name='SCAN']").val());
if(processRegex.test(scan_val)){
Handle_Scan(scan_val); //ajax processing function
}
else
$("[name='SCAN']").val('').focus();
return false;
}
return true;
});