Avatar billede htx98i17 Professor
20. juni 2017 - 18:39 Der er 6 kommentarer og
1 løsning

event.keyCode

Jeg vil gerne have en kode længere nede i body som registrerer en bestemt tastaturtast og kører en function.
Avatar billede htx98i17 Professor
20. juni 2017 - 19:23 #1
Bare for at komme igang har jeg selv følgende udgangspunkt, men jeg ved simpelthen ikke hvordan tingene hænger sammen. hvordan jeg får de værdier fra et sted i body op i header



<html>
<head>
  <script>

  window.addEventListener('keydown', function () {
   
    en_funktion(værdi1,værdi2) {
    gør noget
    }

});



  </script>
</head>

<body>


her udskriver php 2 værdier som skal bruges i funktionen i header


</body>
</html>
Avatar billede keysersoze Guru
20. juni 2017 - 19:28 #2
Hvorfor udskriver du ikke bare værdierne i headeren hvor de skal bruges i stedet for nede i body?
Avatar billede htx98i17 Professor
20. juni 2017 - 19:30 #3
Det kan jeg også, men jeg vil gerne vide hvordan man ellers gør.
Avatar billede keysersoze Guru
20. juni 2017 - 19:39 #4
Det findes der ingen endelig konklusion på - det afhænger helt af dine data og brugsscenariet ellers. Du kunne fx definerer nogle variabler i head og som du tildelte en værdi i body eller du kunne indsætte nogle hidden formfelter du vha querySelector hev value ud på.
Avatar billede htx98i17 Professor
20. juni 2017 - 19:49 #5
okay jeg troede der var noget smartere, jeg havde selv tænkt på hidden formfelter.
Avatar billede htx98i17 Professor
20. juni 2017 - 19:54 #6
men er koden ellers rigtig? hvis du ser bort fra det i body?

jeg har aldrig brugt addeventlistener før
Avatar billede keysersoze Guru
20. juni 2017 - 21:26 #7
Nej - det ser lidt skævt ud. Enten vil det være tilstrækkeligt med

window.addEventListener('keydown', function () {
    //gør noget
});

eller også, hvis din funktion er noget reelt, skal du nok skrive

en_funktion(værdi1,værdi2) {
    //gør noget
}

window.addEventListener('keydown', function () {
    en_funktion(værdi1,værdi2);
});

Generelt er det ret godt beskrevet fx her https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

Som sagt kan der sagtens findes andre måder at løse dit oprindelig spørgsmål på, fx at værdierne først hentes ved klik altså via Ajax eller de kan lægges som data-attributter på et element - det afhænger helt af brugsscenariet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester