Ich versuche eine Funktion auszuführen, wenn bei einer bestimmten Eingabe die Eingabetaste gedrückt wird.
Was mache ich falsch?
$(document).keyup(function (e) {
if ($(".input1").is(":focus") && (e.keyCode == 13)) {
// Do something
}
});
Gibt es eine bessere Möglichkeit, dies zu .input1
tun , wenn die Eingabetaste gedrückt wird ?
javascript
jquery
jQuerybeast
quelle
quelle
Antworten:
quelle
event.keyCode
ist einNumber
, daher unternimmt JavaScript die gleichen Schritte mit==
oder===
.which
,code
,charCode
undkeyCode
sind veraltet developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent , bitte aktuelle Informationen zu Ihrer Antwort hinzufügen.event.key === "Enter"
Neuere und viel sauberere: verwenden
event.key
. Keine willkürlichen Nummerncodes mehr!Wenn Sie jQuery verwenden müssen:
Mozilla Docs
Unterstützte Browser
quelle
Oder binden Sie einfach an die Eingabe selbst
Verwenden Sie die Website http://keycode.info , um herauszufinden, welchen Schlüsselcode Sie benötigen
quelle
Versuchen Sie dies, um die
Enter
in einem Textfeld gedrückte Taste zu erkennen .quelle
Es kann zu spät sein, diese Frage zu beantworten. Der folgende Code verhindert jedoch einfach die Eingabetaste. Einfach kopieren und einfügen sollte funktionieren.
quelle
Der beste Weg, den ich gefunden habe, ist die Verwendung
keydown
(daskeyup
funktioniert bei mir nicht gut).Hinweis: Ich habe auch das Senden des Formulars deaktiviert, da Sie normalerweise nur das Formular senden möchten, wenn Sie beim Drücken der Eingabetaste einige Aktionen ausführen möchten :)
quelle
Die Lösung, die für mich funktioniert, ist die folgende
quelle
Versuchen Sie dies, um die in einem Textfeld gedrückte Eingabetaste zu erkennen.
DEMO
quelle
quelle
Dieser Code behandelte jede Eingabe für mich auf der gesamten Site. Es sucht in einem INPUT-Feld nach der ENTER-TASTE und stoppt nicht bei TEXTAREA oder anderen Stellen.
quelle