2k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
hallo.
folgendes klappt nicht:

<a onMouseOver="this.style.color='#f00';setTimeout('this.style.color="#000";',1000);" href="">Link</a>

an der stelle hinter setTimeout( bekomm ich die fehlermeldung "unterminated string literal". ich bin in sachen javascript nicht so die leuchte. was ist da falsch?

3 Antworten

0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Du mußt die doppelten Anführungszeichen im setTimeout()-Aufruf durch ein vorangestelltes \ "escapen", also

<a onMouseOver="this.style.color='#f00';setTimeout('this.style.color=\"#000\";',1000);" href="">Link</a>


Noch besser wäre es in dem Fall allerdings, eine kleine Funktion zu schreiben und in onmouseover diese Funktion aufzurufen.
0 Punkte
Beantwortet von
das ändert aber nichts an der fehlermeldung
0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Sorry mein Fehler, korrekt müßte es heißen
<a onMouseOver="this.style.color='#f00';setTimeout('this.style.color=\'#000\';',1000);" href="">Link</a>
...