Hallo,
ich habe ein Problem mit dem dynamischen Zuordnen von Event-Handlern.
Dieses statische Beispiel funktioniert wunderbar:
onMouseover=„f1();“ onMouseout=„f2();“ onClick=„f3();“>
Bla Ble
Bli Blo
Blu
Wenn ich nun aber eben diese Tabelle dynamisch zusammenbaue, kann ich zwar die einzelnen Felder z.B. mit StyleSheets formatieren (TD.style.backgroundColor=„yellow“;), aber ich kriege den Dingern keine Event-Handler zugewiesen! Der Code dafür könnte z.B. so aussehen:
TR = document.getElementById("tabelle").insertRow(1);
**TR.event.onMouseover="f1()";
TR.event.onMouseout="f2()";
TR.event.onClick="f3()";**
Das event-Objekt hat allerdings eine ganz andere Aufgabe, wie´s aussieht, und was besseres fällt mir nicht ein. Hat jemand von Euch eine Idee? Das wäre toll.
Danke und viele Grüße,
Kristian
Hab was gefunden
Ich war schon nahe dran.
SELFHTML hat doch noch eine Lösung parat gehabt, nur etwas versteckt:
Element.onclick = function;
Dabei mur „onclick“ oder dergleichen klein geschrieben sein. Ich hatte es mal mit „onClick“ probiert. Außerdem ist der Funktionsname nicht in Anführungszeichen. Ob da ein Parameter erlaubt ist, weiß ich nicht, hab´s nicht probiert.
Bei SELFHTML war das unter dem folgenden Link zu finden (muß man bissl drin suchen):
http://selfhtml.teamone.de/dhtml/beispiele/navigatio…
Kristian
Parameter gehen aber nicht
((
Element.onclick = function;
… Ob da ein Parameter erlaubt ist, weiß ich nicht, hab´s nicht probiert.
Jetzt habe ich es probiert, und es ist natürlich nicht erlaubt. Wenn man sich die Syntax anguckt, ist es auch plausibel. Wahrscheinlich wird ein Funktionspointer übergeben oderso. Sowie man aber eine Klammer hinten dransetzt oder gar einen Parameter, wird die Funktion natürlich ausgeführt und versucht, das Rückgabeergebnis dem Eventhandler zuzuweisen.
Ohne Paramter geht´s bei mir aber nicht, denn ich will im speziellen Falle wissen, auf welche Tabellenzeile geklickt wurde. Dafür scheint´s nun doch keine Lösung zu geben, oder?
Kristian
Ohne Paramter geht´s bei mir aber nicht, denn ich will im
speziellen Falle wissen, auf welche Tabellenzeile geklickt
wurde. Dafür scheint´s nun doch keine Lösung zu geben, oder?
doch. und die heisst „anonyme funktion“
obj.onmouseup = new Function("alert(this.id)");
vgl. http://www.devguru.com/Technologies/ecmascript/quick…
1 „Gefällt mir“
Wenn das funktioniert …
))
Ohne Paramter geht´s bei mir aber nicht, denn ich will im
speziellen Falle wissen, auf welche Tabellenzeile geklickt
wurde. Dafür scheint´s nun doch keine Lösung zu geben, oder?
doch. und die heisst „anonyme funktion“
: obj.onmouseup = new Function("alert(this.id)");
vgl.
http://www.devguru.com/Technologies/ecmascript/quick…
Was wäre ich manchmal ohne die WeWeWe-Nutzer
) Das werde ich natürlich gleich mal ausprobieren. Und der Link scheint es auch wert zu sein, in die Favoriten aufgenommen zu werden.
Kristian