нажатие клавиш и keyup - почему keyCode отличается?

Связанные с: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 );
} );

Почему ключевой код отличается?

Я могу понять, почему следует использовать только нажатие клавиш, но что я не понимаю, так это то, как два события клавиш при одной и той же клавише нажатия на клавиатуре дают разные коды клавиш.

PS: я не беспокоюсь о поддержке устаревших браузеров, я пробовал это в Chrome и был удивлен и не смог найти объяснения.

Ответы на вопрос(3)

Ваш ответ на вопрос