Avatar billede eskdecay Nybegynder
22. januar 2009 - 02:42 Der er 12 kommentarer

Problemer med onkeypress og location.href i FireFox

Nu har jeg leget lidt med Javascript, og er temmelig ny inden for det.
Men jeg prøver nu at lave et javascript der reagerer, hvis en besøgende på et site, trykker på en bestemt tast, ryger den besøgende hen til en anvist side....

f.eks.:
    <script type="text/javascript">
    function skift(e){
      e = e ? e : event;
    if(e.keyCode == 99)
      document.location.href = 'contact.php';
    else if(e.keyCode == 119)
      document.location.href = 'works.php';
    }
document.onkeypress = skift;
</script>

...og det virker egentlig meget godt...i safari, men kan simpelthen ikke få det til at virke i FireFox.
Så mit spørgsmål er om man kan lave (og hvordan laver man) det tilpasset til IE, FireFox og Safari - samtidig.
Avatar billede majbom Novice
22. januar 2009 - 08:39 #1
document.location skal være window.location
Avatar billede eskdecay Nybegynder
22. januar 2009 - 11:45 #2
hmm, med window.location virker det hverken i safari eller firefox :(
Avatar billede eskdecay Nybegynder
22. januar 2009 - 11:58 #3
okay der var jeg vidst liiige lidt for hurtig.
det virker stadig i safari, men ikke i FF, og kan ikke teste det i IE.
Avatar billede majbom Novice
22. januar 2009 - 12:24 #4
kommer den ind i if-sætningen overhovedet?

prøv at smid en alert("CODE: "+e.keyCode); ind i if'erne
Avatar billede eskdecay Nybegynder
22. januar 2009 - 13:06 #5
Nu har jeg prøvet at lave den således:

    <script type="text/javascript">
    function skift(e){
      e = e ? e : event;
    if(e.keyCode == 99)
      alert("CODE: "+e.keyCode);
    else if(e.keyCode == 119)
      window.location.href = 'works.php';
    }
      document.onkeypress = skift;
    </script>

og stadig virker det kun i safari :S
Avatar billede olebole Juniormester
22. januar 2009 - 17:50 #6
<ole>

document.onkeydown = skift;

/mvh
</bole>
Avatar billede eskdecay Nybegynder
22. januar 2009 - 22:31 #7
Så fandt jeg fejlen: jeg brugte keyCode for et lille c og et lille w, men med keyCode for er stort C og stort W, så virker det i safari og firefox, men så kan jeg jo lige stille et lille spørgsmål:
Hvordan skriver jeg at skal være når man f.eks. trykker Alt + C eller Ctrl + C
Avatar billede olebole Juniormester
23. januar 2009 - 11:21 #8
Jeg har absolut ingen anelse om, hvad du skriver
Avatar billede majbom Novice
23. januar 2009 - 12:15 #9
-> ole - jeg tror at han mener at han havde skrevet keyCode for store bogstaver (C og W) i stedet for små (c og w)...
Avatar billede eskdecay Nybegynder
23. januar 2009 - 12:29 #10
Det jeg mente var at jeg havde brugt keyCode for små bogstaver, men det virkede kun i safari.
Nu er de blevet rettet til keyCode for store bogstaver (kapitaler), og virker i både safari og firefox.

men mit spørgsmål er så:
hvordan man skriver i keyCode, at det ikke kun er C man trykker på, men at man også trykker på Alt.....altså Alt + C
Avatar billede olebole Juniormester
23. januar 2009 - 12:46 #11
if(e.altKey && e.keyCode == 99)
Avatar billede majbom Novice
04. november 2010 - 11:02 #12
kan vi lukke hér?
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