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

Связанные: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 и был удивлен, и не смог найти объяснения.

45
задан Community 23 May 2017 в 12:10
поделиться