Arno Fassbender: event - IE - Verständnisproblem

Beitrag lesen

Hallo Felix,

danke für Deine Antwort.

» Liebe(r) Arno,

Arno ist in der Tat ein männlicher Vorname :-)

ich kann sowohl im IE6, als auch im IE5.5 irgendwo im Dokument klicken und erhalte den alert. Daher kann ich Dein Problem nicht nachvollziehen...

Tja, das ist seltsam. Ich habe es im IE6 probiert. Wenigstens weiss ich jetzt, dass es wohl irgendwie an meinem Rechner liegen muss und nicht am Code selbst. Ich werde es mal an einem anderen probieren.

Das nächste Mal schreibst Du Dein Javascript aber besser so:

document.onclick = function () { alert("Erfolg!"); };

Der Unterschied ist der, dass in meinem Code eine "echte" Funktion dem onclick-Ereignis zugewiesen wird, in Deinem Beispiel aber nur eine Art "Pseudo-Funktion" definiert wird (Deine Funktion enthält keinen Code!), der zu allem Überfluss auch noch ein sehr seltsam notierter Wert übergeben wird (das in Deiner Funktionsklammer), der als "Rückgabewert" des alert-Statements ermittelt wird. Deswegen kommt Deine Erfolgsmeldung zwar trotzdem, aber um Deinen Code zu verstehen, muss man gehörig um drei Ecken denken!

Bist Du Dir da sicher ? Meines Wissens nach erhält der Konstruktor eines Funktion-Objekts eine Reihe von Argumenten, wobei das Letzte den Funktionsrumpf repräsentiert. Da es hier nur ein Argument gibt, enthält dieses den Funktionsrumpf. Die neue Funktion hat also keine Parameter, ist also genau genommen eine Prozedur. Siehe z.B. hier:

http://www.devguru.com/Technologies/ecmascript/quickref/function_object.html

Danke und Gruß
Arno