Struppi: document.createElement event

Beitrag lesen

ich habe das gleiche Problem wie hier http://forum.de.selfhtml.org/archiv/2005/8/t113733/ und versucht mir aus der Lösung etwas zusammenzureimen.

Aber nicht aus meiner http://forum.de.selfhtml.org/archiv/2005/8/t113733/#m722554

Letztendlich funktioniert es jetzt zwar mit:
newRow.onclick= new Function('xyz','this.bgColor="#D9D9F0"');

Warum das veraltete bgColor?

  1. Warum überhaupt eine Funktion? im Text kam ja auch die mögliche Antwort auf: newRow.setAttribute("onmouseover","this.bgColor='#FF0000'","false");

Das hätte mit wesentlich besser gefallen, aber das funktioniert ja nicht.

Ich sehe zwar nicht warum das besser gefällt, aber funktionieren tut es nur im IE nicht, es ist aber im Prinzip auch nicht richtig. Die Eventhandler erwartet eine Funktionsreferenz, die beim eintreten des Events aufgerufen wird. Da du offensichtlich die gleiche Funktion mehrmals verwenden willst, kannst du auch eine normale Funktion verwenden, wie Chris schon zeigte.

function changeBgColor(e) {  
this.style.backgroundColor='#FF0000';  
}  
/*...*/  
  
// und dann immer wenn du den Event zuweisen möchtest  
newRow.onclick= changeBgColor;  

Struppi.