Tastendruck und Tastendruck - warum unterscheidet sich der keyCode?

Verbunden:JavaScript KeyCode vs CharCode

Hier ist ein Code, den Sie zu Hause oder in einer App ausprobieren könnenjsfiddle:

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 );
} );

Warum unterscheidet sich der keyCode?

Ich kann verstehen, warum man nur Tastendruck verwenden sollte, aber was ich nicht verstehe, ist, wie zwei Tastenereignisse, wenn dieselbe Taste auf der Tastatur gedrückt wird, unterschiedliche keyCodes geben.

PS: Ich mache mir keine Sorgen um die Unterstützung älterer Browser. Ich habe dies in Chrome versucht und war überrascht und konnte keine Erklärung finden.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage