webForumDet fria alternativet

Markera focus

HTML & CSS

8 svar · 447 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Frågan#1

Jag vill att användaren tydligt ska se vilket element som är aktivt (t.ex. genom att lägga på dubbel border). Jag använder onblur/onfocus och byter CSS-class på elementet. Finns det någon annat (smartare?) sätt att göra detta i Explorer?

Medlem sedan okt. 20005 273 inlägg
#2

Tjenare Tor.
Då Internet Explorer bara tar pseudo-classes på a-element så tror jag det blir svårt att åstadkomma med annat än javascript.

Om dina användare hade använt någon webbläsare som stöder css 2.1 så skulle du kunna göra så här.
http://member.webforum.nu/1029/tor.htm

mv icaaq

Medlem sedan feb. 2003774 inlägg
#3

Precis, för IE får du köra med en JS lösning:

<style type="text/css">
.focused
{
	background:orange;
}

.blurred
{
	background:white;
}
</style>
<input type="text" onfocus="this.className='focused';" onblur="this.className='blurred';">
Medlem sedan nov. 200013 890 inlägg
#4

icaaq skrev:

Om dina användare hade använt någon webbläsare som stöder css 2.1 så skulle du kunna göra så här.

Tyvärr så är Explorer 5.5+ kravet för den webbapplikation som vi bygger.

PepeJeria skrev:

Precis, för IE får du köra med en JS lösning:

Jo, det är ju ungefär så jag gör idag. Hade hoppats att det fanns någon fin Explorer-specifik lösning.

Medlem sedan maj 200010 687 inlägg
#5

Om du tycker det är jobbigt att lägga in JavaScriptet på varje element så skulle du ju kunna ha en grej som loopar igenom alla element och lägger till det. :)

Medlem sedan sep. 20021 655 inlägg
#6

Du kan ju fortsätta på PepeJerias lösning och göra den lite mer generell:

http://member.webforum.nu/4192/focus.html

Medlem sedan aug. 20039 340 inlägg
#7

Eller kanske ännu snyggare, använd ett behavior!

 [b]markfocus.htc[/b]
<public:component>
<public:attach event="onfocus" onevent="setFocus()" />
<public:attach event="onblur" onevent="setBlur()" />
<script>

function setFocus(){
	element.style.background = "green";
}

function setBlur(){
	element.style.background = "white";
}
</script>
</public:component>

[b]I css:[/b]
input	{behavior:url("markfocus.htc")}
Medlem sedan okt. 20005 273 inlägg
#8

coolt nitro2k01 :)

mv icaaq

Medlem sedan nov. 200013 890 inlägg
#9

htc är verkligen smidigt att jobba med. :)
Vi använde det ganska flitigt i början av projektet. Problemet är att det är så satans segt! Av användarskäl har vi tyvärr tvingats "översätta" alla htc-lösningar till Javascript. :l

252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)