» »

javascript onfocus/onblur

javascript onfocus/onblur

4kik4 ::

Imam težavo pri onfocus - točneje pri spreminjanju barve roba inputa pri onfocus. Če naredim input, ki ima že v css-ju določeno barvo roba, ter ko kliknem v ta input, pokličem funkcijo onfocus, ki spremeni barvo roba inputa, dela vse ok. Če pa pred tem pokličem neko drugo js funkcijo in z njo najprej spremenim barvo inputa, potem pa, ko pokličem funkcijo onfocus, to ne dela več prav. Točneje, "onfocus" barva se pokaže za cca 0,5 sekunde, potem pa izgine... Zakaj se to dogaja?

Bolj točna obrazložitev:
imam nek input, ki ima rob črne barve. Če klikneš nanj, se s pomočjo funkcije focus_primer rob obarva belo, če klikneš ven, je spet črn (defocus_primer funkcija). Vse v redu. Če pa najprej klikneš gumb spremeni barvo, ki rob inputa spremeni v rdečo, potem se, če klikneš v input, rob samo za sekundo obarva v belo, potem pa spet nazaj v rdečo. Kot da, če preko js nastavim barvo, to potem povozi funkcijo onfocus. Kakšna ideja kako to rešiti?

PS - rešitve, kot je v cssju nastavljen focus, ne pridejo v poštev, ker to rabim za neko specifično stvar, in barva focusa ni vedno enaka...

<style>
#primer {
border:solid 1px #000;
}
</style>
<input type='button' id='gumb' value='Spremeni barvo' onclick="barva_primer();" />
<input type='text' id='primer' value='' onfocus="focus_primer();" onblur="defocus_primer();" />
<script type="text/javascript">
function barva_primer(){
   document.getElementById('primer').style.borderColor= 'rgb(255, 0, 0)';
}
function focus_primer(){
   document.getElementById('primer').style.borderColor= 'rgb(255, 255, 255)';
}
function defocus_primer(){
   document.getElementById('primer').style.borderColor= 'rgb(0, 0, 0)';
}
</script>
  • spremenilo: 4kik4 ()

4kik4 ::

Nima nihče nobene ideje?

icurk ::

sem probal tvojo kodo in pri meni deluje tako kot mora.

AnubisVX ::

Sem prav tako preizkusil tvojo kodo, in v Firefoxu 38 in Internet explorerju 11 deluje kot mora. Probleme dela samo Crome ki vsiljuje privzeti barvo okvirja, to sem rešil da sem dodal style inputu: style="outline: none"

<input type='text' id='primer' value='' onfocus="focus_primer();" onblur="defocus_primer();" style="outline: none" />

Zgodovina sprememb…

  • spremenilo: AnubisVX ()

4kik4 ::

aja :o posebej samo tega dela nisem sprobala ker je del nekega obrazca, samo mi potem ni jasno, kaj je narobe, ker tam ni nič kaj drugače... hvala vseeno, bom še drugo kodo potem pregledala...

Zgodovina sprememb…

  • spremenilo: 4kik4 ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
!

Vse, kar ste si želeli vprašati o CSS, pa si niste upali. (strani: 1 2 3 423 24 25 26 )

Oddelek: Izdelava spletišč
1298342176 (1313) sunniegoldie
»

Jquery

Oddelek: Izdelava spletišč
151754 (1478) mk818764
»

Canvas risanje črt - beginPath()

Oddelek: Izdelava spletišč
16903 (703) marjan_h
»

Potrebujem javascript pomoč

Oddelek: Programiranje
81192 (942) no1pheeew
»

Internet strani kot slideshow

Oddelek: Izdelava spletišč
212075 (1826) sverde21

Več podobnih tem