2015-03-09 3 views
2

Update

я пытался до сих пор в тренажере по физической клавиатуре. Это вызвало проблему. Однако с мягкой клавиатурой он работает по желанию. keyup Событие имеет четко определенный keyCode.e.keyCode в IOS Safari на KeyUp события


Вы можете найти код на this pen

<input type="text" id="test">

var test = document.getElementById('test'); test.addEventListener('keyup', function(e) { alert(e.keyCode); });

IOS сафари дисплей 0 как KEYCODE для любой нажатой клавиши (keyup событие). Любой указатель будет очень полезен.

Update

e.keyCode, а также e.which работы с keypress событием, но я не мог заставить его работать с keyup событием.

+0

'alert (e.keyCode || e.which);' – epascarello

ответ

4

e.keyCode присутствует в мероприятии keyup в сафари iOS, в реальном устройстве, а также в симуляторе. Однако в симулятор, если физическая клавиатура используется, e.keyCode установлен в zero. enter image description here

3

Использовать e.which вместо e.keyCode.

Редактировать: Чтобы нормализовать это значение, вы можете использовать e.keyCode || e.which.

+0

Спасибо, вы попробовали ручку? К сожалению, он не работает с событием '' keyup''. '' e.keyCode'', а также '' e.which'' работает с '' keypress'', но я не мог заставить его работать с '' keyup'' – sarbbottam

+0

@sarbbottam Он работает с 'keyup' в Chrome , Firefox, IE & iOS Safari: http://codepen.io/anon/pen/ByOOyJ – blex

+0

Извините, мой плохой, я пытался в симуляторе вместе с физической клавиатурой. Ваше решение работает с мягкой клавиатурой. +1 – sarbbottam

Смежные вопросы