Как перехватить ввод в документе [нажатие клавиши] в окне в javascript от сканера Zebra mc330m? - PullRequest
0 голосов
/ 19 февраля 2019

Я настроил сканер для отправки Enter в конце ввода, и JS читает его правильно, но другие символы потеряны.

Я попытался декодировать символы ввода с помощью event.keyCode,event.which, event.charCode и ничего не работает.Если я присоединяю это к нормальному вводу, это работает.Также работает в адресной строке браузера (хром).Но когда я прикрепляю его к документу ['onkeypress'], он не читает символы.

Я попробовал решение Мартина Орта отсюда: https://developer.zebra.com/thread/35513, но я не смог заставить его работать.даже не знаю, тот ли это сканер.

Отсюда я понял, что сканер отправляет символы ASCII, и у javascript нет механизма для их чтения?https://developer.zebra.com/thread/34536

Если кто-то знает решение этой проблемы, помощь очень ценится.Я предпочитаю использовать js / jquery, если это вообще возможно.

Ответы [ 2 ]

0 голосов
/ 30 июля 2019

Эта функция, использующая нажатие клавиш, была недавно добавлена ​​в DataWedge 7.3, который включен в последнее обновление ОС MC33 (02.13.15 - LG Update 16) - я написал блог о том, как его использовать: https://developer.zebra.com/blog/listening-keypress-events-datawedge.Для наглядности работаю на зебру

0 голосов
/ 19 февраля 2019

Этот код делает то, что создает ввод, фокусируется на нем, но абсолютно не отображает экран, потому что IE имеет проблему с фокусировкой на скрытых текстовых полях.Затем обнаруживает изменения на входе и выходе, которые на данный момент на консоли.

$(document).ready(function(){
     $(".scanner-input").focus().on("input",function(){
          let barcode = $(this).val();
          console.log(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">
...