Le site keydown
funktioniert gut für Escape und hat den Vorteil, dass Sie die Möglichkeit haben, die keyCode
in allen Browsern. Außerdem müssen Sie den Hörer an document
und nicht der Körper.
Update Mai 2016
keyCode
ist inzwischen veraltet, und die meisten modernen Browser bieten die key
Eigenschaft jetzt, obwohl Sie immer noch ein Fallback für anständige Browser-Unterstützung für jetzt brauchen (zum Zeitpunkt des Schreibens die aktuellen Versionen von Chrome und Safari nicht unterstützen).
Update September 2018 evt.key
wird jetzt von allen modernen Browsern unterstützt.
document.onkeydown = function(evt) {
evt = evt || window.event;
var isEscape = false;
if ("key" in evt) {
isEscape = (evt.key === "Escape" || evt.key === "Esc");
} else {
isEscape = (evt.keyCode === 27);
}
if (isEscape) {
alert("Escape");
}
};
Click me then press the Escape key
1 Stimmen
Zuerst eine Browser-Erkennung durchführen?
7 Stimmen
Ich finde quirksmode.org immer zuverlässig, um herauszufinden, was in welchem Browser funktioniert: quirksmode.org/js/keys.html . Dort finden Sie, dass nur
keyup
okeydown
in Verbindung mitkeyCode
funktioniert in allen Browsern.2 Stimmen
Ich denke, der Titel dieser Frage sollte lauten: "Wie Escape-Tastendruck mit Jquery zu erkennen?" Oder die Antworten sollten in nativen javascript sein...
3 Stimmen
$(document).on("keyup", function (e) {var code = e.keyCode || e.which; alert('key pressed: ' + code);});
Grüße aus dem Jahr 20140 Stimmen
Mögliches Duplikat von Welcher Keycode für die Escape-Taste mit jQuery