keypress e keyup - por que o keyCode é diferente?
Relacionado:JavaScript KeyCode vs CharCode
Aqui está algum código que você pode tentar em casa ou em umjsfiddle:
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 );
} );
Por que o keyCode é diferente?
Eu posso entender por que alguém deve usar apenas o pressionamento de tecla, mas o que eu não entendo é como dois eventos principais, com a mesma tecla no teclado, fornecem códigos de tecla diferentes.
PS: Eu não estou me preocupando com o suporte a navegadores legados, eu tentei isso no Chrome e fiquei surpreso, e não consegui encontrar uma explicação.