Im Folgenden finden Sie den Code, der nicht nur die ESC-Taste deaktiviert, sondern auch die Bedingung prüft, unter der sie gedrückt wird, und je nach Situation die Aktion ausführt oder nicht.
In diesem Beispiel,
e.preventDefault();
deaktiviert den ESC-Tastendruck.
Sie können damit z.B. ein Div verstecken:
document.getElementById('myDivId').style.display = 'none';
Es wird auch berücksichtigt, wo die ESC-Taste gedrückt wurde:
(e.target.nodeName=='BODY')
Sie können diesen Teil der Bedingung entfernen, wenn Sie dies auf alle anwenden möchten. Oder Sie können hier auf INPUT abzielen, um diese Aktion nur anzuwenden, wenn sich der Cursor im Eingabefeld befindet.
window.addEventListener('keydown', function(e){
if((e.key=='Escape'||e.key=='Esc'||e.keyCode==27) && (e.target.nodeName=='BODY')){
e.preventDefault();
return false;
}
}, true);
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