ChrisB: document.createElement event

Beitrag lesen

Hi,

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

Aber gefallen tut es mir nicht richtig, wohl weil ich es nicht richtig verstehe.

  1. Es wird eine neue Funktion bei jeder reihe geschrieben, diese heisst dann auch immer xyz. Mehrere Funktionen alle gleichen Namen?

Die "Benamung" der Funktion ist entbehrlich. Du kannst auch eine "anonyme" Funktion verwenden, also schreiben
element.onlick = function() { this.xy = "abc"; }

  1. Warum überhaupt eine Funktion?

Weil Eventhandlerattribute in der JavaScript-Repraesentation eines HTML-Elements nun mal Funktionsreferenzen als Wert erwarten.

Gibt es dennoch so eine ähnnliche Möglichkeit ohne Funktion zu erzeugen?

Wozu?

Du kannst natuerlich auch die Funktion erst ein Mal definieren, mit einem Namen versehen,
function xyz() { ... }
und dann den Eventhandlern verschiedener Elemente zuweisen,
element1.onblubb = xyz;
element2.onblubb = xyz;

Damit ersparst du dem Client zumindest, jedes Mal eine neue anonyme Funktion zu erzeugen.

MfG ChrisB

--
„This is the author's opinion, not necessarily that of Starbucks.“