Специальные / аппаратные ключи Android, не генерирующие события JavaScript - PullRequest
3 голосов
/ 27 сентября 2011

Я собираюсь создать приложение для Android с использованием представления Webkit в Phonegap и оцениваю его на предмет пригодности, однако я столкнулся с одной довольно серьезной ошибкой.

Я проверил это за пределами телефонной пробкиа также выложить тестовую страницу здесь: http://tane.ifies.org/test.html

У меня есть Samsung Galaxy Tab с физической клавиатурой.В приложении phonegap кажется, что он полностью игнорирует специальные клавиши, в частности физические клавиши со стрелками на клавиатуре.

Я написал небольшой тест, связывающий событие keyup:

window.addEventListener('keyup', function(e) {
    alert(e.keyCode);
});

Для всех клавиш ASCII (az, 1-9 и таких клавиш, как /? И т. Д.) Я получаю код возврата как на виртуальной, так и на физической клавиатуре, но опять же не для специальных клавиш, Shift, Ctrl или клавиш со стрелками.

Я также создал текстовое поле - клавиши со стрелками и т. Д. Работают нормально, но, похоже, все еще не генерируют событие ключа в моем слушателе окна.

Есть ли другое событие, которое мне нужно прослушать, чтобы захватитьэти клавиши в Android?

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

1 Ответ

3 голосов
/ 29 сентября 2011

В этой статье все объясняется, если вы хотите написать собственный обработчик событий клавиатуры: JavaScript Madness: Keyboard Events .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...