Capturar una tecla Enter presionada en cualquier lugar de la página

87

Necesito capturar una tecla Enter presionada en cualquier momento en cualquier lugar de una página de inicio de sesión. Iniciará un intento de inicio de sesión.

Usando jQuery, ¿cómo lograría esto? ¿Y lo vincularía a la etiqueta del cuerpo?

Adán
fuente

Respuestas:

146
$(document).keypress(function(e) {
  if(e.which == 13) {
    // enter pressed
  }
});
sje397
fuente
5
Estaba probando esto, y me di cuenta de que la pulsación de teclas no se activa para las teclas de flecha, ¡pero la pulsación sí!
Akotian
@akotian: ¡Muy cierto! Pero, me gusta la descripción anterior y más completa de pulsación de tecla frente a bajada de tecla de la respuesta de canoe.
HoldOffHunger
30

El evento keydown se activa cuando se presiona una tecla.
El evento de pulsación de tecla se activa cuando se pulsa una tecla y esa tecla normalmente produce un valor de carácter.

$(document).keydown( function(event) {
  if (event.which === 13) {
    // login code here
  }
}); 
canoa
fuente
1
Esto funciona mejor que keypress. Por ejemplo, pude llegar keypress a detectar cuándo se presionó la tecla ESC. Pero keydownfunciona perfectamente. ¡Gracias!
Laszlo the Wiz