Avatar billede loopstudio Nybegynder
26. januar 2009 - 03:22 Der er 11 kommentarer

Fanger ikke onKeyDown

Jeg har et popup vindue som indeholder flere iframes.
De fleste med standard HTML, andre med flash eller java.

Jeg har indlagt check på onkeydown og med en alert() boks i hver af dem i BODY tag'ets onkeydown().

MEN mit problem er at alert boksen KUN kommer hvis jeg eksplicit har givet fokus på een af iframes'ne med musen!
Ellers så er der ikke en eneste af mine 7 alertbokse, hhv. 1 i hovedpopupvinduet og 6 i separate iframes body tags.

HVORFOR?
Og hvordan får jeg fanget et onkeydown uanset hvor man befinder sig i objekthierarkiet, eller uanset hvad der har fokus.
Jeg kan ikke greje hvad det er som åbentbart har..fokus?
Avatar billede olebole Juniormester
26. januar 2009 - 09:28 #1
<ole>

Prøv at lægge et link

/mvh
</bole>
Avatar billede loopstudio Nybegynder
26. januar 2009 - 13:05 #2
hej Ole,

Det har jeg desværre ikke mulighed for, da det ligger dybt inde og sitet er ikke offentligt tilgængeligt.

Men jeg tænkte at du måske kunne komme med nogle hints om:
a) hvor søren fokus kan være henne når vinduet er færdig åbnet, (da det åbentbart ikke kan fanges fra nogle af de BODY tags jeg har i samtlige vinduer.
b) andre forhold der spiller ind, f.eks. at en java applet eller en Flash applet kan have "stjålet" eventlæsningen idet det bliver loadet?
Eller man SKAL måske selv sætte focus() på et objekt først? Eller titellinjen eller vinduet i sig selv kan have "stjålet" fokusset? (ps: bruger faktisk en focus() til vinduet når det er åbnet, så vinduet popper frem)
Hvad ved jeg.
Avatar billede loopstudio Nybegynder
26. januar 2009 - 13:06 #3
ps: Er du ansat her på Eksperten, eller er du selvstændig, konsulent eller hvordan?
Jeg har bare set dit navn herinde igennem mange år.. :o)
Avatar billede olebole Juniormester
26. januar 2009 - 22:09 #4
Nej, jeg har intet med Eksperten at gøre. Jeg arbejder for tiden som programmør og webtekniker i et privat firma - men har også været konsulent og freelancer. Jeg har efter bedste evne forsøgt at hjælpe på E i snart 10 år  =)

Jeg er sikker på, noget har fokus, men jeg kan ikke sige noget om, hvad. Jeg går dog udfra, det er den sidste iframe, der loader
Avatar billede loopstudio Nybegynder
26. januar 2009 - 22:43 #5
Jeg har en alertboks i samtlige iframes! Jeg har checket! :) Og har givet dem alertbokse med forskellige tekster og har verificeret at de ALLE fyrer, men kun hvis jeg klikker ind i de respektive iframes og derefter trykker en tast på keyboardet.
det er nemlig en

onkeydown="alert('iframe x');backspace(event)"

jeg har sat på alle BODY tags på samtlige iframes.

Mit hovedmål var at beskytte/sikre imod at brugeren kunne klikke indholdet tilbage via browserens history.

Kan vinduet eller titellinjen i sig selv have fokuset? Og dermed ikke komme til nogle body tags?
Avatar billede olebole Juniormester
26. januar 2009 - 22:45 #6
Mit bedste råd: Undgå (i)frames. Det er ikke uden grund, de ikke har været del af en ny standard i 10 år  ;o)
Avatar billede KLS Novice
26. januar 2009 - 22:48 #7
Avatar billede KLS Novice
26. januar 2009 - 22:49 #8
ellers kan der måske skiftes til <div>...</div> ?
Avatar billede loopstudio Nybegynder
27. januar 2009 - 02:25 #9
olebole: Det kan jeg ikke bare.. Det er et system der er udviklet på i mange år.
klshp: Tak, jeg vil lige checke dit link
klshp2 & olebole: undgå iframes, bruge div tags i stedet. Hvad skulle fordelene være?

jeg har jo også masser af DIV tags, men de er jo inde i mine iframes.
Jeg har en masse dynamisk indhold jeg skifter rundt med som hentes via forskellige programmer. Det kan vel ikke lige laves om til ..? Og hvad kan erstatte det?
Avatar billede olebole Juniormester
27. januar 2009 - 12:50 #10
Fordelene burde stå soleklart ... f.eks. slipper du for problemerne omkring history-objekterne/back-knappen  ;o)
Avatar billede loopstudio Nybegynder
27. januar 2009 - 13:10 #11
okay, lyder spændende! Men hvad så med dynamisk load af data? Hvordan henter jeg dynamisk indhold i ind i DIV tags'ne?
Kan du vise et eksempel?
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