Struppi: dynamische Erzeugung von Eventhandlern

Beitrag lesen

Ich bin Dir sehr dankbar, ein Test mit dem onclick="alert.. hat schon einmal funktioniert. Langsam nähere ich mich dem Problem.

Allerdings, wie ich this als Referenz verwenen muß ist mir immer noch nicht klar:

onMouseover='an(this)' ---> an ist eine von 3 Funktionen, die aus einem grauen Kästchen eine Schaltfläche machen, die aufleuchtet und wieder verblasst.

Du kennst :hover?
http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus

Damit kannst du dir dieses ganze JS geraffel sparen.

function an(referenz){referenz.style.backgroundColor = "#cccccc"}
function aus(referenz){referenz.style.backgroundColor = "#999999"}
function maus(referenz){referenz.style.backgroundColor = "#cc6633"}

sollte eigentlich funktionieren.

wenn ich die Referenz so verwende: onMouseover='an(this)' bekomme ich eine Fehlermeldung. Woran liegt das??

Zum testen von JS immer Mozilla (oder Netscape) verwenden, die sagen dir was für ein Fehler wirklich aufgetreten ist.

Falls du ihn schon benutzt, dann sollte die Fehlermeldung ausagekräftig genug sein dir weiter zu helfen.

Ansonsten ist ein bisschen debugging immer gut:

function maus(referenz){
alert(typeof refrenz);
alert(typeof refrenz.style);

// Und hier sowieso und immer:
if(referenz && refrenz.style) referenz.style.backgroundColor = "#cc6633"

// oder umgekehrt mit Fehlermeldung:
if(!referenz || !refrenz.style) return alert('Fehler!');

referenz.style.backgroundColor = "#cc6633"

}

Struppi.