Avatar billede hobs Nybegynder
19. juni 2000 - 12:13 Der er 11 kommentarer og
1 løsning

Focus

Kan man spørge på om et object er i focus. Dette kan f.eks være en frame eller en knap m.v. ???
Avatar billede humlebien Novice
19. juni 2000 - 12:51 #1
lytter med......
Avatar billede stoffer Nybegynder
19. juni 2000 - 12:59 #2
Ja du siger bare onFocus="dinfunktion();"
Avatar billede stoffer Nybegynder
19. juni 2000 - 13:01 #3
Hvis jeg har misfortået det må du skrive lidt mere ..........
Avatar billede rfogh Nybegynder
19. juni 2000 - 14:30 #4
lytter også med...
Avatar billede jumper Nybegynder
19. juni 2000 - 15:02 #5
stoffer har ret, med onfucous="dinFunction()" bliver dinFunction() kaldt når det pågældende element får fokus.

Det kan dog også være at du vil slippe for 1000-vis af event handlers.

IE4+ har document.activeElement, der er en objekt reference til det element der p.t. har fokus.

/Thor
Avatar billede olebole Juniormester
19. juni 2000 - 15:14 #6
<ole>
Såfremt der er tale om elementer, der KAN bringes i fokus, kan du vel gøre sådan:

<html>
<head>
<script language="JavaScript"><!--

var foc = false;
function setFoc(inx) {
  foc = inx;
}

// Her tester du hvert 5. sekund:
function tellMe() {
    if (foc) {
        alert('i fokus');
    }else{
        alert('ude af fokus');
    }
    setTimeout("tellMe()",5000);
}
tellMe();
// -->
</script>
</head>
<body>
  <form>
    <input type=text onfocus=setFoc(true); onblur=setFoc(false);>
  </form>
</body>
</html>

/Vh
</bole>
Avatar billede olebole Juniormester
19. juni 2000 - 15:16 #7
Men som jumper anfører: Det giver en skov af event-handlers, hvis der er tale om mange elementer ;-))
Avatar billede jumper Nybegynder
19. juni 2000 - 15:21 #8
hobs, måske ville vi kunne hjælpe dig bedre, hvis du forklarer hvad du gerne vil lave/opnå ;)

/Thor
Avatar billede stoffer Nybegynder
19. juni 2000 - 16:25 #9
Ja bedre forklaring udbedes :)

kan de timeout funktioner ikke være lidt farlige at bruge, jeg kan forestille mig at der bliver brugt lidt meget computerkraft på dem...

Olebole --> den du har vist her, kan jo ikke vise HVILKET element der er i fokus, men kun vise OM et element er i focus. Jeg har tilladt mig at bygge lidt videre :P


<html>
<head>
<script language="JavaScript"><!--

var foc = false;
var focusName = "";

function setFoc(inx, name) {
  foc = inx;
  focusName = name
}

// Her tester du hvert 5. sekund:
function tellMe() {
    if (foc) {
        alert(focusName  + ' i fokus');
    }else{
        alert('ude af fokus');
    }
    setTimeout("tellMe()",5000);
}
tellMe();
// -->
</script>
</head>
<body>
  <form>
    <input type=text onfocus=setFoc(true, 'thisButton'); onblur=setFoc(false, 'thisButton');>
  </form>
</body>
</html>

denne kan kun fortælle et element i focus, men man kan udbygge til også at have array funktion, så den kan fortælle hvilke elementer der er i fokus på siden...

Jeg har desværre ikke lige tid til at lave den idag :(


BTW: mange tak for hjælpen olebole

Avatar billede stoffer Nybegynder
19. juni 2000 - 16:30 #10
en lille forklaring:

denne kan kun fortælle et element i focus, men man kan udbygge til også at have array funktion, så den kan fortælle hvilke elementer der er i fokus på siden...


med det mente jeg man kunne lave et array der husker hvilke elementer der har været i fokus på siden... (lille tænkefejl:)

Avatar billede olebole Juniormester
19. juni 2000 - 18:35 #11
Naturligvis...det var også kun princippet, jeg forsøgte at vise.

Timeout-funktionen er kun med for at vise, hvordan man kan spørge. Jeg må med skam erkende, jeg først havde lavet et link, man kunne klikke på og få en alert op, der kunne fortælle, om tekst-feltet var i fokus. Se DET var en tanketorsk i blåhvals-størrelse!...Hvad tror du var i fokus, når jeg havde klikket på linket...DOooohhhhh...!!! Jeg håber, du kan høre lyden af store, røde, blafrende ører! :o))
/Vh
Avatar billede stoffer Nybegynder
20. juni 2000 - 09:44 #12
:)
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