Usiłuję wykonać funkcję, jeśli klawisz Enter zostanie naciśnięty podczas określonego wejścia.
Co robię źle?
$(document).keyup(function (e) {
if ($(".input1").is(":focus") && (e.keyCode == 13)) {
// Do something
}
});
Czy istnieje lepszy sposób, aby to zrobić, gdyby wciśnięty klawisz Enter .input1
działał?
javascript
jquery
jQuerybeast
źródło
źródło
Odpowiedzi:
źródło
event.keyCode
jestNumber
, więc JavaScript będzie robił te same kroki z==
lub===
.which
,code
,charCode
ikeyCode
jest przestarzała developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent , dodaj aktualne informacje na odpowiedź.event.key === „Enter”
Nowsze i znacznie czystsze: użyj
event.key
. Nigdy więcej dowolnych kodów liczbowych!Jeśli musisz użyć jQuery:
Dokumenty Mozilla
Obsługiwane przeglądarki
źródło
Lub po prostu powiąż z samym wejściem
Aby dowiedzieć się, jakiego kodu klucza potrzebujesz, skorzystaj ze strony internetowej http://keycode.info
źródło
Spróbuj wykryć
Enter
klawisz wciśnięty w polu tekstowym.źródło
Może być za późno, aby odpowiedzieć na to pytanie. Ale poniższy kod po prostu zapobiega klawiszowi Enter. Wystarczy skopiować i wkleić.
źródło
Najlepszym sposobem, jaki znalazłem, jest używanie
keydown
(keyup
nie działa dla mnie dobrze).Uwaga: wyłączyłem również przesyłanie formularza, ponieważ zwykle, gdy chcesz wykonać jakieś czynności po naciśnięciu klawisza Enter, jedyną rzeczą, którą nie lubisz, jest przesłanie formularza :)
źródło
Rozwiązanie, które działa dla mnie, jest następujące
źródło
Spróbuj wykryć klawisz Enter wciśnięty w polu tekstowym.
PRÓBNY
źródło
źródło
Ten kod obsługiwał dla mnie wszystkie dane wejściowe w całej witrynie. Sprawdza klawisz ENTER w polu INPUT i nie zatrzymuje się na TEXTAREA ani w innych miejscach.
źródło