|
| manipulere med tabindex ? Fra : Chrisser |
Dato : 20-09-02 12:06 |
|
Hejsa
Jeg har en lille form med to inputfelter og en select-box. De har tabindex
1,2, og 3.
Nu vil jeg gerne at når man tabber ud af selectfeltet (tabindex = 3), så
stiller cursoren sig op i første inputfelt ( istedet for at fokusere på alt
det andet på min side), men det skal ikke være sådan at man ikke kan gøre
andre ting, altså er focus() udelukket ( så vidt jeg kan se )
Er der nogen der har et tip ?
/Chrisser
| |
Esben (26-09-2002)
| Kommentar Fra : Esben |
Dato : 26-09-02 00:13 |
|
> Jeg har en lille form med to inputfelter og en select-box. De har tabindex
> 1,2, og 3.
> Nu vil jeg gerne at når man tabber ud af selectfeltet (tabindex = 3), så
> stiller cursoren sig op i første inputfelt ( istedet for at fokusere på
alt
> det andet på min side), men det skal ikke være sådan at man ikke kan gøre
> andre ting, altså er focus() udelukket ( så vidt jeg kan se )
Du kan lave en funktion der kaldes når der trykkes på keyboardet i dit
sidste element, og som tjekker om der blev trykket på tab. Hvis der er
trykket på tab, kan du sætte focus() på dit første element.
Esben
| |
Chrisser (26-09-2002)
| Kommentar Fra : Chrisser |
Dato : 26-09-02 07:08 |
|
"Esben" <evl@email.dk> skrev i en meddelelse
news:amtfsk$uar$1@news.cybercity.dk...
>
> Du kan lave en funktion der kaldes når der trykkes på keyboardet i dit
> sidste element, og som tjekker om der blev trykket på tab. Hvis der er
> trykket på tab, kan du sætte focus() på dit første element.
>
Endnu engang har jeg undladt logisk tænkning - det kan sg* ikke fortsætte på
denne måde......
Takker for ideen, vil straks lave det
Chrisser
| |
Chrisser (26-09-2002)
| Kommentar Fra : Chrisser |
Dato : 26-09-02 10:35 |
|
"Esben" <evl@email.dk> skrev i en meddelelse
news:amtfsk$uar$1@news.cybercity.dk...
> Du kan lave en funktion der kaldes når der trykkes på keyboardet i dit
> sidste element, og som tjekker om der blev trykket på tab. Hvis der er
> trykket på tab, kan du sætte focus() på dit første element.
>
Nå, jeg prøvede, men af en eller anden grund kan tab-tasten ikke fanges
hverken i onkeyup, (eller i onkeydown for den sags skyld) når jeg står i en
selectboks!
Det går fint med return-tasten fra samme selectboks (den bruger jeg på alle
tre felter), og tab-tasten kan også registreres fra mine to almindelige
input-felter, men der sker intet når jeg tabber ud fra selectboksen.
Til gængæld kan jeg ikke tabbe mig ind i min selectboks, jeg ryger op i mit
første inputfelt uden at kunne nå at gøre noget - det virker som om at når
man "lander i selectboksen" efter brug af Tab ved det foregående felt, ja så
bliver der udløst en onkeyup med det samme.
(jeg hader events ...........)
<script>
Javascript-funktionen:
function tab(){
var key = event.keyCode;
if(key == 9) { // Tab
document.gruppe.selnr.focus();
}
}
</script>
<select name="rolletype" tabindex="3" onkeyup="javascript:tab();">
Er der nogen der har en forklaring på det ???
Chrisser
--
Lige nu Los Desperado
| |
Esben (27-09-2002)
| Kommentar Fra : Esben |
Dato : 27-09-02 00:42 |
|
> Nå, jeg prøvede, men af en eller anden grund kan tab-tasten ikke fanges
> hverken i onkeyup, (eller i onkeydown for den sags skyld) når jeg står i
en
> selectboks!
Hej igen, du har ret i at det er noget besværligt, men jeg har nu fundet på
noget der virker i IE6 i hvert fald. Det skulle gerne virke tilbage til IE4.
Nå, her kommer det:
<script>
function testBegivenhed(begivenhed){
if (begivenhed.keyCode == 9) {
document.all.navnPåFokusElement.focus();
begivenhed.returnValue = false ; // annulerer trykket på tab
}
}
</script>
....
<select tabindex="3" onkeydown="testBegivenhed(event)">
Esben
| |
Chrisser (27-09-2002)
| Kommentar Fra : Chrisser |
Dato : 27-09-02 06:59 |
|
"Esben" <evl@email.dk> skrev i en meddelelse
news:an05ud$nlj$1@news.cybercity.dk...
> > Nå, jeg prøvede, men af en eller anden grund kan tab-tasten ikke fanges
> > hverken i onkeyup, (eller i onkeydown for den sags skyld) når jeg står i
> en
> > selectboks!
>
> Hej igen, du har ret i at det er noget besværligt, men jeg har nu fundet
på
> noget der virker i IE6 i hvert fald. Det skulle gerne virke tilbage til
IE4.
> Nå, her kommer det:
>
> <script>
> function testBegivenhed(begivenhed){
> if (begivenhed.keyCode == 9) {
> document.all.navnPåFokusElement.focus();
> begivenhed.returnValue = false ; // annulerer trykket på tab
> }
> }
> </script>
> ...
> <select tabindex="3" onkeydown="testBegivenhed(event)">
>
> Esben
>
>
| |
Chrisser (27-09-2002)
| Kommentar Fra : Chrisser |
Dato : 27-09-02 07:01 |
|
"Esben" <evl@email.dk> skrev i en meddelelse
news:an05ud$nlj$1@news.cybercity.dk...
> Hej igen, du har ret i at det er noget besværligt, men jeg har nu fundet
på
> noget der virker i IE6 i hvert fald. Det skulle gerne virke tilbage til
IE4.
- IE 6.0 er nok i dette tilfælde
Og det virker, takker mange gange, det var det med returnvalue der manglede
tror jeg...
Chrisser
| |
|
|