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

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

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

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

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

2 ответа

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

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

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


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

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

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

licensed under cc by-sa 3.0 with attribution.