Avatar billede kristianp Nybegynder
13. februar 2002 - 13:07 Der er 14 kommentarer og
1 løsning

Tjekke om en tast er trykket ned i et javascript

Jeg vil gerne lave en test i et javascript om f.eks ctrl tasten er trykkt ned ???
Avatar billede rou Nybegynder
13. februar 2002 - 13:43 #1
Du skal lave en Eventhandler, f.eks. OnKeyDown.

Du kan gøre det på mange måder, men prøv at sætte den på BODY tagget.

<body onKeyDown="myFunction();">

Gå på www.devguru.com, og find deres javascript reference. der finder du noget om eventhandlers.

- Rou
Avatar billede kristianp Nybegynder
13. februar 2002 - 13:59 #2
Ja ok. Men det var ikke helt sådan jeg ville lave det.
Jeg har et tekstfelt, og detter kalder et script onblur, her i dette script ville jeg gerne se om ctrl tasten er trykker ned.
Hvis der så står noget bestemt i tekstfeltet og tasten er trykket ned skal der åbnes et nyt vindue
Avatar billede rou Nybegynder
13. februar 2002 - 14:41 #3
Jeg er ikke sikker, men jeg tror faktisk ikke du kan finde information om en tasts tilstand, uden at bruge events.

Så kan du jo gøre noget andet...

Lav en event til onKeyDown, som sætter en variabel. Lav endnu een på onKeyUp, som resetter din variabel.
Lad så dit script checke på den variabel istedet.

Her er et eksempel, du måske kan bruge. Det laver en alert med information om hvilken tast du har fat i.

---
function key_Down() {
    var e = window.event;
    e.cancelBubble = true;
    if(e.keyCode != 17) {
        document.all.keyValue.innerHTML = e.keyCode;
        //var msg = "Keycode = "+ e.keyCode +"\n";
        //msg = msg + "Left ctrl = "+ e.ctrlLeft +"\n";
        //msg = msg + "Right ctrl = "+ (e.ctrlKey && !e.ctrlLeft) +"\n";
        //msg = msg + "Generic ctrl = "+ (e.keyCode == 17) +"\n";
        //alert(msg);
    }
    return false;
}

---


- Rou
Avatar billede kristianp Nybegynder
13. februar 2002 - 16:33 #4
kan man ikke sætte en OnKeyDown på et tekst felt.
<input type="text" name="vejnavn" OnKeyDown="java script:keydown()">
Jeg får en fejl
Avatar billede rou Nybegynder
13. februar 2002 - 17:22 #5
Nej, det skal være på BODY, altså på hele dokumentet.
Avatar billede kristianp Nybegynder
14. februar 2002 - 00:52 #6
Det bliver nok for tungt, jeg skulle bruge det til et "easteregg", når der tastes noget specielt i et tekst felt og en bestemt tast holdes nede skulle der vises et billede. Men jeg tror jeg nøjes med onblur.
Avatar billede Slettet bruger
14. februar 2002 - 00:54 #7
Jeg blander mig lige.
er det så også muligt at diable f.eks F5 tasten???
hvis ja vil jeg gerne se hvordan man gør
Avatar billede rou Nybegynder
14. februar 2002 - 09:09 #8
Ja, det er faktisk muligt...

Brug mit eksempel overover, og find ud af hvad koden er for F5.
Så laver du bare en IF sætning på den, og så en CancelBubble på den.
Det er bare vigtigt at du gør det på onKeyDown, ellers vil Windows fange tasten før du cancler den.

Jeg har selv stoppet ctrl-a og ctrl-f uden problemer (select all og find)

- Rou
Avatar billede hirayz Nybegynder
14. februar 2002 - 10:13 #9
rou >> har du set menuen på IE der er noget der hedder Rediger >> marker alt og søg ... det er da latterligt at disable tasterne ...
Avatar billede rou Nybegynder
14. februar 2002 - 10:26 #10
Nææ, det er det faktisk ikke Hirayz. Jeg skulle bruge tasterne til noget andet, og så er det da skide irriterende at de også er tilknyttet en IE funktion.

Man implementerer sådan noget af forskellige grunde.. spørg før du kalder noget latterligt.

- Rou
Avatar billede hirayz Nybegynder
14. februar 2002 - 11:23 #11
rou >> hvorfor så lige disable de taster som folk bruger meget der er masser af andre der ikke bliver brugt ...
Avatar billede Slettet bruger
14. februar 2002 - 11:37 #12
nu er jeg ikke hardcore i java så kan en af jer ikke lige hurtigt lave den så man diabler F5?? jeg skal bruge det til en chat hvor den går amok hvis man trykker F5, jeg vil gerne give 15 point
Avatar billede hirayz Nybegynder
14. februar 2002 - 12:06 #13
så opret et nyt spørgsmål så kan det være at vi kan hjælpe dig !!
Avatar billede Slettet bruger
14. februar 2002 - 12:10 #14
ja ok, men nu tænkte jeg bare at når der nu var et slags spm om noget ligende, så kunne jeg jo bare spørg her for at samle det, så det ik ligger i 2 spm, men det kan jeg da også godt
Avatar billede Slettet bruger
14. februar 2002 - 12:25 #15
ved godt jeg ikek må refere til andre spm, men her er linket aligevel hvis nogle skulle finde på at hjælpe mig, da jeg jo helst ville have haft det herinde, og så lavet et point spm
link: http://www.eksperten.dk/spm/172327
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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