Intereting Posts
Laravel 5.1, определяющий текущую страницу для разбивки на страницы Получение разницы между двумя временем / датами с использованием php? Антидот для magic_quotes_gpc ()? Развертывание на несколько серверов Эффективно выбирайте n случайных элементов из массива PHP (без перетасовки) Увеличение числа, начиная с 0000 в php Как объединить многомерные массивы при сохранении ключей? Zend_Cache: после загрузки кэшированных данных кодировка символов кажется испорченной PHP – Множество функций uasort разбивает сортировку Загружать несколько изображений с помощью codeigniter Итак, eclipse и xdebug входят в панель, а затем мой apache-сервер умирает preg_match с международными символами и акцентами Обновление движка приложения разбивает CloudStorage в dev php env Как отключить кеширование в браузерах? Получать все вставленные идентификаторы при вставке нескольких строк с использованием одного запроса

Как я могу добавить слушателя Javascript для захвата ввода с помощью сканера штрих-кода Bluetooth на iPad?

У меня возникли проблемы с регистрацией нажатий клавиш в javascript на iPad. Следующий скрипт работает в Chrome и Safari, но не в iPad Safari. Сканер штрих-кода bluetooth отправляет 12 цифр в виде нажатий клавиш, а затем отправляет символ возврата. У кого-нибудь есть идеи?

Я думаю, вам понадобится iPad, чтобы попробовать это 🙂

Спасибо, Марк

$(document).ready(function(){ $(document).keypress(function(e){ if( e.keyCode == 13){ alert($('#barcode').attr('value')); $('#barcode').attr('value',''); } else{ var key = String.fromCharCode(e.which); var new_val = $('#barcode').attr('value') + key; $('#barcode').attr('value',new_val); } }); }); 

Solutions Collecting From Web of "Как я могу добавить слушателя Javascript для захвата ввода с помощью сканера штрих-кода Bluetooth на iPad?"

Safari для iOS не вызывает события клавиатуры на элементах DOM, которые не являются компонентами формы. Это включает документ и тело, которые обычно используются для захвата нажатий клавиш в любом месте страницы.

Единственный способ вызвать событие нажатия клавиши на документе или теле страницы – вызвать его во входном или текстовом поле. В этом случае событие будет правильно «пузыриться» с телом и документом.

Однако это может быть проблемой, потому что Safari для iOS не позволяет нам выделять элемент из javascript.

На данный момент мы используем решение, в котором пользователю нужно щелкнуть по полю ввода перед началом первого сканирования, а поле ввода затем перемещается за пределы экрана, но сохраняет фокус.

Если у кого-то есть лучшее решение, пожалуйста, поделитесь.

Здравствуйте, попробуйте использовать это, которые работают только с фреймворком JavaScript «Prototype». Этот скрипт работает только с EAN13 или EAN8, но если вы хотите работать с 12 цифрами, просто измените «if (result.lenght == 13)».

 <script language="javascript" type="text/javascript"> Event.observe(window, 'load', function(){ Event.observe(document, 'keyup', myEventHandler); }); var timeout = 0; function myEventHandler(e) { if(e.keyCode == 13) { var result = $('test').value; $('test').value = ''; if(result.length == 13 || result.length == 8) { var d = new Date(); var interval = d.getTime() - timeout; timeout = 0; if(interval <= 1000) { alert(result); } } } else if(e.keyCode >= 48 && e.keyCode <= 57) { if(timeout == 0) { var d = new Date(); timeout = d.getTime(); } var key = String.fromCharCode(e.which); var new_val = $('test').value + key; $('test').value = new_val; } } </script> <input type="hidden" id="test" />