Есть ли плагин jQuery, который нормализует коды клавиш браузера?

Есть ли плагин jQuery, который нормализует коды клавиш в кросс-браузере? То есть, если вы нажмете определенную клавишу, то вы гарантированно получите один и тот же код клавиши для каждого браузера, в котором вы тестируете?


person Lester Peabody    schedule 18.12.2012    source источник
comment
Он называется event.which.   -  person Rocket Hazmat    schedule 19.12.2012


Ответы (2)


Однако нет, он встроен в jQuery!

$("element").on("keypress",function(e){
    console.log(e.which);
});
person Kevin B    schedule 18.12.2012

Свойство which объекта события определено для событий клавиш и мыши в большинстве браузеров, но не в IE ‹ 9. jQuery, однако, нормализует эту поддержку: e.what (Спасибо @RocketHazmat за указание на это)

$(this).keyup(function(e) {
    var code = e.which;
    ...
}
person benedict_w    schedule 18.12.2012
comment
Зачем ты это делаешь? The event.which property normalizes event.keyCode and event.charCode. It is recommended to watch event.which for keyboard key input. api.jquery.com/event.what - person Rocket Hazmat; 19.12.2012
comment
Итак, вы ставите e.keyCode для учета IE ‹= 8? - person Lester Peabody; 19.12.2012
comment
e.which отлично работает в IE8. - person Rocket Hazmat; 19.12.2012
comment
Для поддержки ie см. - stackoverflow. ком/вопросы/10315260/ - person benedict_w; 19.12.2012
comment
@benedict_w: jQuery добавляет e.which, а не изначально в IE ‹ 9. - person Rocket Hazmat; 19.12.2012
comment
Я вижу @RocketHazmat - хороший звонок - person benedict_w; 19.12.2012
comment
@benedict_w: В вашем примере уже используется jQuery, поэтому || e.keyCode совершенно бесполезен. - person Rocket Hazmat; 19.12.2012
comment
Спасибо, я отредактировал свой ответ и указал вам - person benedict_w; 19.12.2012