Habe mich halt aufs Glatteis (ver)führen lassen wegen
<body onload="dingsBums()">
Da braucht es die Klammern unbedingt. Ich weiss, andere Baustelle ...
Das ist nicht grundsätzlich falsch gedacht, weil im Prinzip dieselbe, aber aus historischen Gründen doch eine andere Baustelle:
http://redaktion.selfhtml.org/selfhtml-preview/javascript/einbindung.html#fehler-code-als-string
Mal eine Übersicht:
HTML Inline-Event-Handler:
<element onevent="handlerfunktion()">
Traditionelles Event-Handling gemäß Netscape JavaScript:
element.onevent = handlerfunktion;
Attribut über DOM setzen:
element.setAttribute("onevent", "handlerfunktion()")
(geht nur prinzipiell - praktisch nicht browserübergreifend)
Und wo wir gerade dabei sind auch:
DOM 2 Events:
element.addEventListener("event", handlerfunktion, false);
IE
element.attachEvent("onevent", handlerfunktion);
(Diese ganzen Methoden haben nur grob denselben Effekt, im Detail aber krasse Unterschiede, u.a. was den Zugriff aufs Event-Objekt und das verarbeitende Element angeht.)
Mathias