Avatar billede thoeger_poertner Nybegynder
04. november 2003 - 23:59 Der er 11 kommentarer og
1 løsning

onFocus ved accesskey

Nedenstående giver mig et problem fordi jeg åbner i et nyt vindue:

<a href="#" onFocus="java script:window.open('open_side.php')" accesskey="a">Tryk ALT + A</a>

Den åbner fint i et nyt vindue.
Men lukker man så det nye vindue, så popper det op igen, fordi det link man sidst aktiverede bliver onFocus'et :D

På en måde skal man vel have den oprindelige side til, lige efter at have åbnet det nye vindue, at få focus til at være et andet sted?

(se evt. http://exp.dk/spm/203001)
Nogen løsning på dette?
- På forhånd tak.
/ Thøger
Avatar billede skovenborg Nybegynder
05. november 2003 - 00:28 #1
du kan vel også sige:
<a href="#" onFocus="java script:window.open('open_side.php');this.blur()" accesskey="a">Tryk ALT + A</a>
Avatar billede skovenborg Nybegynder
05. november 2003 - 00:36 #2
forresten skal du også have et ekstra parameter med i window.open (i følge javascript-referencen) - så du fx kan sige:
onFocus="window.open('open_side.php','popup');this.blur();"

og så skal du også fjerne java script: i onFocus - den skal ikke være der når man bruger en event.
Derimod skal du bruge den hvis du fx siger:
<a href="java script:alert('HEJ');">HEJ</a> -- altså alle andre steder. Bare lidt god kodeskik :-)
Avatar billede thoeger_poertner Nybegynder
05. november 2003 - 00:41 #3
Tjah, det hjalp lidt.

Hvis man efter lukning af popup-vinduet klikket et sted i det oprindelige vindue, så åbner den ikke et nyt.
Ellers gør den ligesom før, bare lidt langsommere..

Andre ideer?
Avatar billede skovenborg Nybegynder
05. november 2003 - 00:42 #4
svarer lige ;-)
Avatar billede thoeger_poertner Nybegynder
05. november 2003 - 00:43 #5
onFocus="window.open('open_side.php','popup');form.message.focus();"
gør tricket, men så hopper popup-vinduet i baggrunden?!
Avatar billede skovenborg Nybegynder
05. november 2003 - 00:44 #6
hov - havde ikke lige set din kommentar :-S
Avatar billede thoeger_poertner Nybegynder
05. november 2003 - 00:45 #7
Ellers gør den ligesom før, bare lidt langsommere..
=
Den åbner stadig x-antal vinduer indtil man har klikket andensteds på den oprindelige side?!
Avatar billede thoeger_poertner Nybegynder
05. november 2003 - 00:45 #8
hehe, okay :D
Avatar billede skovenborg Nybegynder
05. november 2003 - 00:47 #9
angående at den kun kan åbne en ad gangen er pga. det vinduesnavn 'popup' - den erstatter sådan set bare det gamle så. Derfor kan du gøre sådan:
onFocus="window.open('open_side.php','_blank');form.message.focus();"

eller this.blur(); til sidst

Kan dog ikke helt forstå det sidste problem - åbner den et nyt vindue hver gang du lukker det forrige popupvindue???
Avatar billede skovenborg Nybegynder
05. november 2003 - 00:51 #10
aahh, nu kan jeg se det - det virkede i IE nemlig. Nå jeg tror dit problem er at den ikke når til this.blur();

Prøv at bytte om på de to:
<a href="#" onFocus="this.blur();window.open('open_side.php','_blank');" accesskey="a">Tryk ALT + A</a>
Avatar billede thoeger_poertner Nybegynder
05. november 2003 - 00:55 #11
Jæs! Det sidste virkede!

Takker..
Avatar billede skovenborg Nybegynder
05. november 2003 - 01:03 #12
velbekomme :-)
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