Событие keyPress не срабатывает в Android-мобиле

Я использую backbone,marionette для своего приложения. Я использовал тот же код для desktop and mobile но не делал keypress на mobile Я сделал Jsfiddle для тестирования.

Если вы откроете эту ссылку в mobile мероприятии, не стреляете, если вы открываете на desktop его стрельбу. Как я могу это решить.

Может кто-нибудь мне помочь.

Благодарю.

Solutions Collecting From Web of "Событие keyPress не срабатывает в Android-мобиле"

На данный момент Chrome Mobile не поддерживает события нажатия клавиш. Для этого существует давняя ошибка:

https://code.google.com/p/chromium/issues/detail?id=118639

Я считаю, что это должно быть исправлено в v38.

Я предлагаю два события в поле ввода.

Это будет работать на веб-браузере.

1) onkeypress = return isNumberKey(event);

 function isNumberKey(e) { var evt = e || window.event; if(evt) { var charCode = evt.keyCode || evt.which; } else { return true; } if((charCode > 47 && charCode < 58) || charCode == 9 || charCode == 8 || charCode ==46 || charCode ==37 || charCode==39) { return true; } return false; } 

Это будет работать на мобильных устройствах

2) onkeyup="numberMobile(event);"

 function numberMobile(e){ e.target.value = e.target.value.replace(/[^\d]/g,''); return false; } 

Примените оба события в поле ввода, и оно будет работать. Единственный недостаток – это сделать его медленным. Но пока нам нужно жить с ним.

Существует одна проблема с этим решением. Навигационная навигация не работает. В ближайшее время вы обновите более подходящее решение.

Протестировано в браузере. Кажется, работает со мной. Вот ссылка на ваш смысл:

http://www.browserstack.com/start#os=android&os_version=4.1&device=Samsung+Galaxy+S+III&zoom_to_fit=true&full_screen=true&url=http%3A%2F%2Fjsfiddle.net%2F33Snz%2F3%2Fembedded%2Fresult%2F&speed = 1 & = начать истинно

Можете ли вы сообщить, какое конкретное устройство andriod и браузер вы тестируете.

Наконец, я нашел проблему, но она не будет работать в opera.In вместо написания кода для числовых полей. Я просто добавил атрибут type = 'number' для ввода поля в html-файле. Теперь идет только числовая клавиатура. Удовлетворяет моим требованиям. Вот JsFiddle

Html-код:

 <input type='number'/>