Capture uma tecla Enter pressionada em qualquer lugar da página


87

Preciso capturar a tecla Enter a qualquer momento, em qualquer lugar em uma página de logon. Isso iniciará uma tentativa de logon.

Usando jQuery, como eu faria isso? E eu iria vinculá-lo à tag do corpo?

Respostas:


146
$(document).keypress(function(e) {
  if(e.which == 13) {
    // enter pressed
  }
});

5
Eu estava tentando fazer isso, e notei que o pressionamento de tecla não é acionado para as teclas de seta, mas a tecla pressionada sim!
Akotian

@akotian: Muito verdadeiro! Mas, gosto da descrição anterior mais completa de pressionamento de tecla vs. tecla descendente da resposta de canoa.
HoldOffHunger

30

O evento keydown é disparado quando uma tecla é pressionada.
O evento de pressionamento de tecla é disparado quando uma tecla é pressionada e essa tecla normalmente produz um valor de caractere.

$(document).keydown( function(event) {
  if (event.which === 13) {
    // login code here
  }
}); 

1
Isso funciona melhor do que keypress. Por exemplo, consegui keypress detectar quando a tecla ESC foi pressionada. Mas keydownfunciona perfeitamente. Obrigado!
Laszlo the Wiz de
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.