Ответ 1
На этой странице jQuery указано, что событие, которое должно быть нормализовано для согласованности браузера. Но, похоже, это не так.
jQuery нормализует имя свойства (например, всегда which
, а не which
или keyCode
в зависимости от браузера), но не значение свойства, которое было бы значительно более сложным.
Значение ключа, которое вы получаете от keydown
/keyup
, будет отличаться не только от браузера, но и от раскладки клавиатуры. На странице JavaScript Madness: Keyboard Events есть много подробностей. Среди прочего, вы можете увидеть на этой странице, что для этого ключа Firefox даст вам 109, IE (и, по-видимому, Chrome) даст вам 189, а Opera, по-видимому, использует 45 (но в моих тестах на Linux они теперь перейдите к 109).
Для печатаемых нажатий клавиш (например, -
) вам будет лучше с событием keypress
, которое даст вам результирующий символ.