"Kristensen" <JakobKristensen@msn.com> skrev i en meddelelse
news:4849bd9e$0$90265$14726298@news.sunsite.dk...
> Hej..
>
> Jeg vil sige med det samme, jeg har INGEN forstand på javascript,
> så vil gerne have lidt hjælp.
>
> Jeg har denne funktion, som jeg har fundet:
>
> ----------------------------------------------
>
> <script language="JavaScript1.2">
>
> var hotkey=27
> var destination="admin.php"
> if (document.layers)
> document.captureEvents(Event.KEYPRESS)
> function backhome(e){
> if (document.layers){
> if (e.which==hotkey)
> window.location=destination
> }
> else if (document.all){
> if (event.keyCode==hotkey)
> window.location=destination
> }
> }
> document.onkeypress=backhome
>
> </script>
>
> ----------------------------------------------
>
> Det den skal gøre, er at når man trykker på escape (hotkey 27),
> åbner den admin.php.
> Det virker også som det skal i Internet Explorer, men gør det så
> bare ikke i Firefox, er der nogen der kan hjælpe mig med det?
>
> Det jeg indtil videre har fundet ud af er at det skyldes at
> event.keyCode kun findes i IE, så der skal skrives noget andet
> hvis den skal virke til andet?
>
> Håber der er nogen der kan hjælpe mig med mit problem.
> På forhånd tak.
>
I IE er event en "global" variabel, der kan nås fra alle funktioner.
Det er den ikke i FF (og javascript - IE bruger faktisk JScript og ikke
javascript).
For at få tingene til at virke i FF også, skal du overføre eventen som
parameter til funktionen, f.eks.
function BackHome( evt) {
evt = window.event ? window.event : evt;
/*
checker om window.event er defineret - hvis den er det, sættes evt til at
være den - ellers bruges den evt der overføres i parametren. Herefter bruges
evt som eventen, uanset om det er IE eller FF
*/
if ( evt.keyCode ==27
window.location = 'admin.php';
}
}
document.onkeypress = BackHome( event);
Ikke testet - men skulle vist være god nok ;>)
Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.