Подтвердить что ты не робот

JQuery: Как прослушивать общий ввод с клавиатуры?

Я создаю сайт, который после загрузки страницы должен прослушивать определенную строку клавиатуры.

Событие, которое меня интересует, - это сканер, сканирующий объект, но он представляет на сайт как ввод с клавиатуры формы ~XXX~.

Я вижу, что jQuery имеет событие keypress(), которое можно привязать к определенному объекту.

Но как я могу слушать общий ввод с клавиатуры, после $(document).ready?

4b9b3361

Ответ 1

Попробуйте следующее:

$(function() {
   $(window).keypress(function(e) {
       var key = e.which;
       //do stuff with "key" here...
   });
});

Посмотрите на действие jsFiddle

Ответ 2

Я сделал это раньше. Есть много других вещей, о которых можно беспокоиться, кроме того, как обрабатывать события нажатия клавиш.

Ваш сканер, вероятно, отправляет ввод, завернутый начальным и конечным символами. Я бы создал объект ScanReader, который присоединяется к событию нажатия клавиши. Когда он обнаруживает начальный символ, он начинает накапливать пресеты до тех пор, пока не будет обнаружен символ конца.

Чтобы избежать путаницы с вводом пользователя, нажатия клавиш должны быть относительно близкими (по времени) друг к другу, вам нужно проверить его и посмотреть, какое количество мс между нажатиями клавиш. Быстрые машины могут печатать до 50 мс между нажатиями клавиш.