Capturer une touche Entrée enfoncée n'importe où sur la page

87

J'ai besoin de capturer une touche Entrée à tout moment n'importe où sur une page de connexion. Il lancera une tentative de connexion.

En utilisant jQuery, comment pourrais-je accomplir cela? Et est-ce que je le lierai à l'étiquette corporelle?

Adam
la source

Réponses:

146
$(document).keypress(function(e) {
  if(e.which == 13) {
    // enter pressed
  }
});
sje397
la source
5
J'essayais ceci, et j'ai remarqué que la pression de touche n'est pas déclenchée pour les touches fléchées mais la touche enfoncée l'est!
akotian
@akotian: Très vrai! Mais j'aime la description précédente et plus complète de la pression sur les touches par rapport à la touche enfoncée de la réponse de canoë.
HoldOffHunger
30

L'événement keydown est déclenché lorsqu'une touche est enfoncée.
L'événement keypress est déclenché lorsqu'une touche est enfoncée et que cette touche produit normalement une valeur de caractère.

$(document).keydown( function(event) {
  if (event.which === 13) {
    // login code here
  }
}); 
canoë
la source
1
Cela fonctionne mieux que keypress. Par exemple, je pourrais arriver keypress à détecter quand la touche ESC a été enfoncée. Mais keydownfonctionne parfaitement. Merci!
Laszlo the Wiz