/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Link skal ikke have focus
Fra : // Overby


Dato : 17-03-04 22:15

Jeg har nogle links på min side, der alle åbner et javascript, der viser
noget tekst på siden.

Problemet består i, at når der klikkes på et link, så får linket focus (en
stiplet linie omkring). Når der så klikkes på et andet link, der skal der
klikkes 2 gange på linket. Det er ligesom man klikker en gang for at fjerne
fokus fra det gamle link og så en gang mere for at aktivere det nye link.

Jeg tænkte på noget OnFocus="unfocus()" - findes en sådan funktion?

-Daniel



 
 
Ulrik Nielsen (17-03-2004)
Kommentar
Fra : Ulrik Nielsen


Dato : 17-03-04 22:27

// Overby wrote:
>
> Jeg t?nkte pa* noget OnFocus="unfocus()" - findes en sa*dan funktion?
>

n?sten:
onfocus="this.blur();"

--
>> ulrik nielsen
excuse of the day : Someone is broadcasting pygmy packets and the
: router doesn't know how to deal with them.
from bofh : http://www.cs.wisc.edu/~ballard/bofh/

Lasse Reichstein Nie~ (17-03-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 17-03-04 22:53

Ulrik Nielsen <un.spam@tiscali.dk> writes:

> // Overby wrote:
>> Jeg t?nkte pa* noget OnFocus="unfocus()" - findes en sa*dan funktion?
>>
>
> n?sten:
> onfocus="this.blur();"

Der skal dog en advarsel til: Hvis man bruger keyboard til at navigere
med, så vil ovenstående kode gøre det umuligt at bruge linket (eller
andre links senere på siden). Det er mest, men ikke kun, folk med et
handicap der ikke bruger mus, hvilket bør være grund nok til at undgå
at gøre siden ubrugelig for dem.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jens Gyldenkærne Cla~ (18-03-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-03-04 15:36

Lasse Reichstein Nielsen skrev:

>> onfocus="this.blur();"
>
> Der skal dog en advarsel til: Hvis man bruger keyboard til at
> navigere med, så vil ovenstående kode gøre det umuligt at
> bruge linket

Og det er møgirriterende. Jeg er ikke handikappet, men jeg
foretrækker så afgjort at navigere med tastaturet når det kan lade
sig gøre.

Hvis man vil fjerne den stiplede linje, har Erik Ginnerskov lavet
en funktion der klarer det uden at ødelægge
navigationsmulighederne:

function fjernStipletLinie()
{
for (a in document.links) document.links[a].onfocus =
document.links[a].blur;
}

if (document.all||document.getElementById)
{
document.onmousedown = fjernStipletLinie;
}


<http://www.hjemmesideskolen.dk/html/links.asp>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Lasse Reichstein Nie~ (18-03-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 18-03-04 20:38

Jens Gyldenkærne Clausen <jens@gyros.invalid> writes:

> Hvis man vil fjerne den stiplede linje, har Erik Ginnerskov lavet
> en funktion der klarer det uden at ødelægge
> navigationsmulighederne:

Den har dog et par problemer.

> function fjernStipletLinie()
> {
> for (a in document.links) document.links[a].onfocus =
> document.links[a].blur;

Her får man for meget med. Document.links er *ikke* et array. Det er
en collection, og i min browser har den præcist tre egenskaber:
item, tags og namedItem
De kommer med når man bruger for (a in document.links) .
Den missed til gengæld linket på siden.

Der er ingen grund til at "a" skal være en global variabel.

Så, ret ovenstående til:

function fjernStipletLinje() {
for(var i=0;i<document.links.length;i++) {
document.links[i].onfocus = document.links[i].blur;
}
}


> if (document.all||document.getElementById)
> {
> document.onmousedown = fjernStipletLinie;
> }

Der er ingen grunt til at teste for document.all og
document.getElementById hvis man ikke bruger dem. Det er sandsynligvis
et forsøg på at udelukke nogle browsere, men hvilke? (Netscape 4 med
sikkerhed, men hvad med andre ... og hvorfor skulle det ikke virke
i Netscape 4 alligevel?)

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Erik Ginnerskov (18-03-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 18-03-04 22:37


"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev

> Den har dog et par problemer.
>
> > function fjernStipletLinie()
> > {
> > for (a in document.links) document.links[a].onfocus =
> > document.links[a].blur;
>
>
> Der er ingen grund til at "a" skal være en global variabel.
>
> Så, ret ovenstående til:
>
> function fjernStipletLinje() {
> for(var i=0;i<document.links.length;i++) {
> document.links[i].onfocus = document.links[i].blur;
> }
> }

Ovenstående er afprøvet og det virker ikke :(

> > if (document.all||document.getElementById)
> > {
> > document.onmousedown = fjernStipletLinie;
> > }
>
> Der er ingen grunt til at teste for document.all og
> document.getElementById hvis man ikke bruger dem. Det er sandsynligvis
> et forsøg på at udelukke nogle browsere, men hvilke? (Netscape 4 med
> sikkerhed, men hvad med andre ... og hvorfor skulle det ikke virke
> i Netscape 4 alligevel?)

Næh, det er efterhånden nok rigtigt. Men funktionen er så gammel, at det
oprindeligt var aktuelt



Jens Gyldenkærne Cla~ (18-03-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-03-04 21:51

Lasse Reichstein Nielsen skrev:

> Så, ret ovenstående til:
>
> function fjernStipletLinje() {
> for(var i=0;i<document.links.length;i++) {
> document.links[i].onfocus = document.links[i].blur;
> }
> }

Det virker nydeligt i IE og Mozilla. Dog får jeg en advarsel fra
Multizilla om at siden har ændret eller fjernet min højrekliksmenu.

På Opera ser det ud som om den stiplede linje er fjernet som
standard. Der kommer stiplede linjer om formelementer, men så vidt
jeg kan se ikke om link.

Erik - hvis du følger med her - vil du ikke opdatere din funktion
på hjemmesideskolesiden?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Erik Ginnerskov (18-03-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 18-03-04 22:26


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev

> Hvis man vil fjerne den stiplede linje, har Erik Ginnerskov lavet
> en funktion der klarer det uden at ødelægge
> navigationsmulighederne:

En lille rettelse: Det er Allan Vebel, der har konstrueret det.

> > Så, ret ovenstående til:
> >
> > function fjernStipletLinje() {
> > for(var i=0;i<document.links.length;i++) {
> > document.links[i].onfocus = document.links[i].blur;
> > }
> > }
>
> Det virker nydeligt i IE og Mozilla. Dog får jeg en advarsel fra
> Multizilla om at siden har ændret eller fjernet min højrekliksmenu.

Det skulle der da ikke ske. Det var ikke meningen.

> Erik - hvis du følger med her - vil du ikke opdatere din funktion
> på hjemmesideskolesiden?

Naturligvis.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://hjem.get2net.dk/egin



Allan Vebel (18-03-2004)
Kommentar
Fra : Allan Vebel


Dato : 18-03-04 22:45

Erik Ginnerskov <egin@spam.invalid> skrev:

> En lille rettelse: Det er Allan Vebel, der har konstrueret det.

Det er ikke helt rigtigt. Jeg har fundet det et sted i en gruppe
for snart mange år siden - og har lavet et par småændringer
siden.

--
Allan
http://html-faq.dk



Lasse Reichstein Nie~ (18-03-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 18-03-04 22:59

"Erik Ginnerskov" <egin@spam.invalid> writes:

> "Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev

>> function fjernStipletLinje() {

> Ovenstående er afprøvet og det virker ikke :(

Du bemærkede stavningen af "linje"? (eneste korrekte stavemåde efter
retskrivningsordbogen fra 2001 ... man er vel pedant :)

Testet i Opera 7.5p3 og IE6.
.... hmm ...
Den ser til gengæld ud til at hænge Moz FF, så der skal måske lidt mere
test til.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Erik Ginnerskov (18-03-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 18-03-04 23:10


"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev

> Du bemærkede stavningen af "linje"? (eneste korrekte stavemåde efter
> retskrivningsordbogen fra 2001 ... man er vel pedant :)

Den overså jeg vist i farten. Nu er din foreslåede ændring lagt ud. Så skal
det bare rettes på siden om links.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://hjem.get2net.dk/egin



Jens Gyldenkærne Cla~ (18-03-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-03-04 23:20

Erik Ginnerskov skrev:

>> Det virker nydeligt i IE og Mozilla. Dog får jeg en advarsel
>> fra Multizilla om at siden har ændret eller fjernet min
>> højrekliksmenu.
>
> Det skulle der da ikke ske. Det var ikke meningen.

Det er jeg godt klar over ;)

Multizilla har en indstilling hvor man afgør om websider skal have
lov til at ændre ved højrekliksmenuen. Der er tre mulige
indstillinger: a) Accepter altid ændringer, b) Bloker enhver
ændring og c) Spørg. Jeg har normalt min stående på c.

Jeg går ud fra at indstillingen kontrollerer kald til .onmousedown
m.fl. - og derfor reagerer på dit/Allans/NN's script.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste