Robiłem trochę pracy z JavaScript kluczowych wydarzeń (keyup, keyDown, przyciśnięcie) i doszli do wniosku, że każdy z nich ma swoje wady i zalety, gdy próbuje określić, jakie klawisze naciśnięty został użytkownik.Przechwytywanie oba klawisze specjalne i kluczową sprawę w imprezach Javascript
Korzystając z wersji event.which dostarczonej przez jQuery, wydaje się, że onkeypress zapewnia kody znaków, w których wielkość liter ma znaczenie. tj. 65-90 dla A-Z i 97-122 dla a-z. Jednak specjalne klawisze, takie jak kierunkowe, nie wyzwalają onkeypress. Będą one jednak uruchamiać keyup/* keydown *, ale te nie będą zapewniały kodów rozróżniania wielkości liter.
Czy istnieje rozwiązanie "najlepsze z obu światów", które zapewni wykrywanie z uwzględnieniem wielkości liter i specjalnych kluczy, które nie wymaga ręcznego monitorowania kilku zdarzeń jednocześnie?
Krótka odpowiedź, nie, musisz posłuchać co najmniej dwóch wydarzeń, aby uzyskać oba. Dłuższą odpowiedzią będzie wysłuchanie zdarzeń zmiany/kontroli i ustalenie na tej podstawie przypadku. – adeneo
możesz szukać e.shiftKey w zdarzeniach typu keydown/up, które będą pisane wielkimi literami. Jedynym problemem jest użycie blokady CAPS, kluczem będzie upperCase, a nie klawisz shiftKey. – dandavis