Tach!
Warum kann man statt
document.querySelector("fieldset").addEventListener('click', function () { requiredOnRequestElements.setRequired(); });
nicht einfach
document.querySelector("fieldset").addEventListener('click', requiredOnRequestElements.setRequired);
schreiben?
Na ganz einfach, dann funktioniert es nicht. ;) Muss reichen als Antwort, als Frage reicht es ja auch …. Nicht.
Beim Aufruf wird der Objektkontext ignoriert. Die Methode wird direkt aufgerufen, aber nicht als Funktion des Objekts requiredOnRequestElements, sondern statisch oder sowas in der Art. Man sieht das im Debugger, wenn man einen Breakpoint auf die Zeile mit dem for setzt. Das this ist im ersten Fall die NodeList, auf die requiredOnRequestElements verweist. In der nicht funktionierenden Variante zeigt es auf das fieldset. Der Eventhandler wurde aufgerufen und das this wurde dabei auf das Element gesetzt, an dem der Eventhandler hängt. Damit wird nun die Funktion setRequired() aufgerufen. Die anonyme Funktion bewirkt, dass das Objekt requiredOnRequestElements genommen wird, und dessen Methoden werden dann mit this auf das Objekt zeigend ausgeführt.
dedlfix.