Cattura un tasto Invio premuto in un punto qualsiasi della pagina


87

Devo acquisire una pressione del tasto Invio in qualsiasi momento in qualsiasi punto di una pagina di accesso. Inizierà un tentativo di accesso.

Usando jQuery, come potrei farlo? E lo collegherei al tag body?

Risposte:


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

5
Stavo provando questo, che ho notato che la pressione dei tasti non viene attivata per i tasti freccia ma lo è il tasto giù!
akotian

@akotian: molto vero! Ma mi piace la descrizione precedente e più completa di keypress vs. keydown dalla risposta di canoe.
HoldOffHunger

30

L'evento keydown viene generato quando si preme un tasto.
L'evento keypress viene generato quando si preme un tasto e quel tasto normalmente produce un valore di carattere.

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

1
Funziona meglio di keypress. Ad esempio, potrei keypress rilevare quando è stato premuto il tasto ESC. Ma keydownfunziona perfettamente. Grazie!
Laszlo the Wiz
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.