2017-07-27 5 views
2

Je travaille avec javascript (sur un macbook pro OSX 10.11.x, je ne sais pas si c'est important) en utilisant le navigateur Chrome. Im en utilisant la fonction:Javascript Keycode pour un: 65 ou 97?

window.onkeypress = function(e) { 
    var key = e.keyCode ? e.keyCode : e.which; 
    console.log("keypressed = " + key); 
} 

quand j'appuyez sur « une » clé sur mon clavier, il enregistre comme 97, mais cela ne correspond pas à une autre liste codeTouche je trouve sur Internet, selon lequel « a » est de 65

Ceci est la même chose pour les autres touches ainsi, par exemple, l « » pour moi est de 115, mais tout le monde d'autre que prévoit ce qui suit « l » est 83.

y at-il une dépendance que i » m manquant? Si je tire un événement en supposant un == 95, cela fonctionnera-t-il sur d'autres navigateurs?

Merci.

+4

L'événement "keypress" ne vous donne pas * codes clés *, il vous donne * codes de caractères *. – Pointy

+0

code de caractère (chr) http://www.asciitable.com/ –

+1

a = 97 et A = 65 – PRMoureu

Répondre

1

Je trouve qu'une capitale A est en effet, 65

Un a minuscule est 97

S'il vous plaît voir ce tableau:

enter image description here

Graphique emplacement d'origine: http://www.asciitable.com/

5

Les majuscules ne sont pas les mêmes que les minuscules et les p roduire différents codes. En outre, l'événement keypress fonctionne différemment des événements keyup ou keydown. keypress répond aux caractères imprimables et donne le code du caractère qui a été produit. Avec keyup et keydown, le code représente la clé matérielle physique sur le clavier qui a été enfoncé. Par exemple, si vous exécutez l'extrait ci-dessous et appuyez simplement sur la touche SHIFT, le message du journal des événements keypress ne s'affichera pas du tout car cet événement ne se déclenchera pas pour cette clé.

window.addEventListener("keyup", function(e) { 
 
    var key = e.keyCode ? e.keyCode : e.which; 
 
    console.log("key up = " + key, e.key); 
 
}); 
 

 
window.addEventListener("keydown", function(e) { 
 
    var key = e.keyCode ? e.keyCode : e.which; 
 
    console.log("key down = " + key, e.key); 
 
}); 
 

 
window.addEventListener("keypress", function(e) { 
 
    var key = e.keyCode ? e.keyCode : e.which; 
 
    console.log("key pressed = " + key, e.key); 
 
});
Just click in this area to give it the focus, then press some keys.

+0

Cela ne répond pas directement à la question de l'OP, mais +1 pour la note sur la différence de la valeur renvoyée en fonction de l'événement. –

+0

@CrayonViolent Je travaillais sur cette édition et j'ai dû prendre un appel téléphonique. Réponse mise à jour –