Erfassen einer Eingabetaste, die an einer beliebigen Stelle auf der Seite gedrückt wird


87

Ich muss jederzeit und überall auf einer Anmeldeseite einen Eingabetaste-Druck erfassen. Es wird ein Anmeldeversuch gestartet.

Wie würde ich dies mit jQuery erreichen? Und würde ich es mit dem Body-Tag verknüpfen?

Antworten:


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

5
Ich habe dies versucht, was mir aufgefallen ist, dass der Tastendruck nicht für Pfeiltasten ausgelöst wird, sondern für die Tastenkombination!
Akotian

@akotian: Sehr wahr! Aber ich mag die frühere, ausführlichere Beschreibung von Tastendruck vs. Keydown aus der Antwort des Kanus.
HoldOffHunger

30

Das Keydown-Ereignis wird ausgelöst, wenn eine Taste gedrückt wird.
Das Tastendruckereignis wird ausgelöst, wenn eine Taste gedrückt wird und diese Taste normalerweise einen Zeichenwert erzeugt.

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

1
Das funktioniert besser als keypress. Zum Beispiel konnte ich keypress erkennen, wann die ESC-Taste gedrückt wurde. Funktioniert aber keydownperfekt. Danke dir!
Laszlo the Wiz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.