Avatar billede werd Nybegynder
28. juli 2005 - 02:36 Der er 16 kommentarer og
1 løsning

onkeypress funktion virker ikke i IE?

Jeg har lavet denne funktion men den virker ikke i IE men godt i mozilla. Nogen der ved hvad jeg gør galt?


<script type="text/javascript">
function skift(e){
if(e.keyCode==37)
  location.href = test.htm;
else if(e.keyCode==39)
  location.href = test2.htm;
}
document.onkeypress = skift;
</script>
Avatar billede ttopholm Nybegynder
28. juli 2005 - 02:40 #1
Avatar billede werd Nybegynder
28. juli 2005 - 02:54 #2
har kigget lidt omkring.. du ved ikke præcis hvad fejlen er?
Avatar billede ttopholm Nybegynder
28. juli 2005 - 02:58 #3
at ie ikke understøtter det... Så du skal finde en anden... den første burde kunne bruges
Avatar billede roenving Novice
28. juli 2005 - 02:59 #4
I Mozilla (og de andre Gecko-drevne maskiner, f.eks. FireFox og Netscape 6+) sendes en event altid med i en eventhandler, men da IEs eventmodel indbefatter et statisk event-objekt, er det anderledes der, så f.eks.

<script type="text/javascript">
  e = e ? e : event;
function skift(e){
if(e.keyCode==37)
  location.href = test.htm;
else if(e.keyCode==39)
  location.href = test2.htm;
}
document.onkeypress = skift;
</script>
Avatar billede werd Nybegynder
28. juli 2005 - 03:08 #5
har det næsten nu ;) du kunne ikke lave et simpelt dokument hvor det virker - kan nemlig ikke få det til at virke i det eksisterende :(
Avatar billede roenving Novice
28. juli 2005 - 03:11 #6
-- hov, det skal jo vre inde i funktionen !-)
Avatar billede roenving Novice
28. juli 2005 - 03:12 #7
<script type="text/javascript">
function skift(e){
  e = e ? e : event;
Avatar billede werd Nybegynder
28. juli 2005 - 03:15 #8
hmm.. måske er det ved at være for sent men det vil ikke rigtig virke for mig.. kan jeg få dig til at smide det ind i en sammenhæng så det virker :) ?
Avatar billede roenving Novice
28. juli 2005 - 03:20 #9
<script type="text/javascript">
function skift(e){
  e = e ? e : event;
if(e.keyCode)
  alert(e.keyCode + ' nedtrykket');
}
document.onkeypress = skift;
</script>
Avatar billede werd Nybegynder
28. juli 2005 - 03:31 #10
nu har jeg fundet fejlen.. problemet er at mine keycodes på min bærbare slet ikke er de samme som dem på min stationære og dem man finder på nettet.. Nogen ideer til hvordan man løser sådan et problem?
Avatar billede werd Nybegynder
31. juli 2005 - 15:03 #11
jeg kan faktisk ikke en gang få den til at skifte side selvom det er de rigtige keycodes.. Vil du ikke lave et dokument hvor det man ryger om på en anden side når man trykker på eks: højre piltast?
Avatar billede olebole Juniormester
01. august 2005 - 00:13 #12
<ole>

KeyCode for et tegn er den samme på alle PC'er  :)

/mvh
</bole>
Avatar billede werd Nybegynder
01. august 2005 - 15:37 #13
ja ok my bad - det virker også nu.. smid venligst svar roenving
Avatar billede roenving Novice
01. august 2005 - 15:39 #14
Velbekomme '-)
Avatar billede roenving Novice
01. august 2005 - 16:55 #15
-- og tak for point ;~}
Avatar billede eskdecay Nybegynder
22. januar 2009 - 02:29 #16
Dette her har jeg godt nok ledt efter.
Men efter at have prøvet det, kan jeg kun konkludere at jeg ikke kan få det til at virke i FireFox :S
Men kan da lige tilføje at det virker i Safari.
Avatar billede olebole Juniormester
22. januar 2009 - 17:46 #17
<ole>

Jo, det virker skam fint i Firefox, men ikke umiddelbart på alle taster. Event-modellen i browserne er ret forskellige fra mærke til mærke - herunder, hvad der sker og hvad man kan på de forskellige event-typer. Prøv f.eks:
    document.onkeydown = skift;

- hvilket giver et andet resultat og samtidig åbner mulighed for at cancel'e event'en i Firefox, dersom det skulle være ønskeligt

/mvh
</bole>
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