• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wykrywanie naciśnięcia klwaisz js

Object Storage Arubacloud
0 głosów
560 wizyt
pytanie zadane 13 lipca 2020 w JavaScript przez Author[] Gaduła (3,130 p.)

Niedawno rozpocząłem pisanie małej gry na przeglądarkę. Niestety  aby działała nawigacja muszę rozpoznawać które klawisze zostały kliknięte. Wiem że na internecie jest mnóstwo rozwiązań ale żadne z nich nie działa. Czy ktoś wie co robię nie tak?

  //fragment
<body onload="start()" onkeypress="walk(e)"  >
function walk (Event)
{
    var code = Event.which;
    alert (code);
}

 

komentarz 13 lipca 2020 przez ScriptyChris Mędrzec (190,190 p.)
Czy w konsoli przeglądarki są jakieś błędy?
komentarz 13 lipca 2020 przez Author[] Gaduła (3,130 p.)
Nie ma
komentarz 13 lipca 2020 przez ScriptyChris Mędrzec (190,190 p.)
Na której przeglądarce to testujesz? Możesz pokazać cały kod?

2 odpowiedzi

+2 głosów
odpowiedź 13 lipca 2020 przez creend Gaduła (4,700 p.)
wybrane 13 lipca 2020 przez Author[]
 
Najlepsza

Lepiej obsłużyć kliknięcie w samym JS a nie również HTML'u. Można dodać EventListener na keypress 

 document.body.addEventListener('keypress', (e) => {
      console.log(e);
    })

I w zmiennej e masz obiekt klikniętego klawisza. A we właściwości keyCode (e.keyCode) kod klawisza

komentarz 13 lipca 2020 przez Ilya Dimow Obywatel (1,240 p.)

Tylko lepiej używać event.code , bo .keyCode jest już oznaczony jak deprecated https://developer.mozilla.org/pl/docs/Web/API/KeyboardEvent/keyCode

komentarz 13 lipca 2020 przez Author[] Gaduła (3,130 p.)
Świetnie działa ale proszę wytłumacz mi co znaczy ta linijka:

(e) =>

resztę w pełni rozumiem. Dzięki za odpowiedzi:)
+3 głosów
odpowiedź 13 lipca 2020 przez Comandeer Guru (602,560 p.)
keypress nie musi się odpalać dla klawiszy niebędących znakami alfanumerycznymi. Lepiej jest skorzystać z keydown.

A co do rozpoznawania klawiszy: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key#Example

Podobne pytania

0 głosów
2 odpowiedzi 192 wizyt
pytanie zadane 3 maja 2019 w JavaScript przez MrxCI Dyskutant (8,260 p.)
0 głosów
2 odpowiedzi 171 wizyt
pytanie zadane 6 sierpnia 2018 w JavaScript przez MrxCI Dyskutant (8,260 p.)
0 głosów
1 odpowiedź 291 wizyt
pytanie zadane 7 lipca 2016 w JavaScript przez Madar Obywatel (1,560 p.)

92,679 zapytań

141,582 odpowiedzi

320,065 komentarzy

62,041 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...