Trouver la touche qui a été appuyée lors d'un évènement keypress en jQuery

L'évènement keypress se déclenche lorsqu'un utilisateur appuie sur une touche. Il est ensuite possible de détecter la touche sur laquelle l'utilisateur a appuyé.

La bibliothèque JavaScript jQuery gère les différents évènements provoqués par l'internaute lorsqu'il interagit avec une page web. Parmi ceux-ci, l'évènement keypress se déclenche lorsqu'un utilisateur appuie sur une touche. Il est ensuite possible de détecter la touche sur laquelle l'utilisateur a appuyé. Il faut se servir de l'objet Event qui est en paramètre de la méthode appelée quand un évènement se déclenche et qui contient toutes les informations relatives à ce dernier.

jQuery fournit l'attribut which qui mémorise la touche sur laquelle appuie l'utilisateur. Il faut par contre savoir que l'attribut which ne mémorise pas la touche TAB, qui permet de changer le focus dans une page web. Si vous souhaitez mémoriser absolument toutes les touches, y compris TAB, alors il faut également utiliser l'attribut keycode qui peut, quant à lui, mémoriser la touche TAB :

//Exemple d'ajout de l'évènement keypress à un champ
$('#monChamp').bind('keypress', function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) { //La touche Entrée a été appuyée
}
});

Il est par ailleurs possible de passer du code de la touche à la lettre correspondante grâce aux méthodes charCodeAt() et fromCharCode() de la classe String :

var code = String.charCodeAt(' '); //La variable code reçoit le chiffre 13.
var lettre = String.fromCharCode(13); //La variable lettre reçoit alors la chaîne de caractères correspondant à la touche Entrée, c'est-à-dire.

JQuery

Annonces Google