Я настроил сканер на отправку Enter в конце ввода, и js читает его правильно, но другие символы теряются.
Я пытался декодировать входные символы с помощью event.keyCode, event.what, event.charCode, и ничего не работает. Если я присоединяю его к обычному вводу, он работает. Он также работает в адресной строке браузера (хром). Но когда я прикрепляю его к документу ['onkeypress'], он не читает символы.
Я попробовал решение Мартина Орта отсюда: https://developer.zebra.com/thread/35513 но я не мог заставить его работать, я даже не знаю, тот же ли это сканер.
Отсюда я понял, что сканер отправляет символы ASCII, а в javascript нет механизма их чтения? https://developer.zebra.com/thread/34536
Если кто-нибудь знает решение этой проблемы, помощь очень ценится. Я предпочитаю js/jquery, если это вообще возможно.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Этот код делает то, что он создает ввод, фокусирующийся на нем, но абсолютно позиционируется за пределами экрана, потому что у IE есть проблема с фокусировкой на скрытых текстовых полях. Затем обнаруживает изменения во входных данных и выводит их на консоль.
$(document).ready(function(){
$(".scanner-input").focus().on("input",function(){
let barcode = $(this).val();
console.info(barcode);
$(this).val("");
}).blur(function(){
$(this).focus();
});
});.scanner-input{position:absolute;left:-10000px;}<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type = "text" class = "scanner-input">@marto, я сделал небольшую модификацию, которая позволит это сделать. По сути, после того, как вы берете штрих-код, он очищает поле ввода, и они могут сканировать снова. Я также обновил код, поэтому, если ввод теряет фокус, ему будет передан фокус.
Это действительно хороший ответ. Как вы можете видеть из этих сообщений на форуме, некоторые браузеры устройств позволяют вам читать onKeyPress из DOM, но не на всех устройствах, тогда как этот метод должен надежно работать на устройствах все. Вы можете использовать корпоративный браузер Zebra или гибридную платформу, чтобы добиться того же с большим контролем, но у меня нет лучшего предложения, чем этот ответ, для чистого решения на основе Chrome, по крайней мере, до тех пор, пока Zebra не внесет некоторые изменения в DataWedge, чтобы разрешить это Работа. Для ясности, я работаю на Zebra.
Эта функция, использующая нажатие клавиши, была недавно добавлена в DataWedge 7.3, которая включена в последнее обновление ОС MC33 (02.13.15 — LG Update 16) — я написал в блоге о том, как ее использовать: https://developer.zebra.com/blog/listening-keypress-events-datawedge. Для ясности, я работаю на Zebra
Спасибо за поддержку Даррин! Это настоящее решение!
спасибо, но, к сожалению, пользователям нужно будет сканировать несколько штрих-кодов, а не только один, поэтому, когда ввод находится за пределами видимого экрана на мобильном устройстве, им будет очень трудно вернуться и снова сфокусировать его.