Связанные:JavaScript KeyCode против CharCode
Вот некоторый код, который вы можете попробовать дома или в jsfiddle:
el.addEventListener( 'keyup', function( e ) {
console.log( 'Keyup event' );
console.log( e.keyCode );
} );
el.addEventListener( 'keypress', function( e ) {
console.log( 'Keypress event' );
console.log( e.keyCode );
} );
Почему keyCode отличается?
Я могу понять, почему нужно использовать только нажатие клавиши, но я не понимаю, как два ключевых события при одной и той же клавише нажатия на клавиатуре дают разные коды клавиш.
PS :Я не беспокоюсь о поддержке устаревших браузеров, я попробовал это в Chrome и был удивлен, и не смог найти объяснения.