Camping_RIDER: Dialog-Box - Confirm

Beitrag lesen

Aloha ;)

Ich glaube, da muss ich dich enttäuschen.

...und damit die Antwort von @dedlfix bestätigen.

Dasselbe tritt auch schon hier auf:

Geht:

document.documentElement.addEventListener('click', () => { window.alert(); });

Geht nicht:

document.documentElement.addEventListener('click', window.alert);

Fehlermeldung: TypeError: 'alert' called on an object that does not implement interface Window.

Wie @dedlfix bereits ausführte wird beim Übergeben der Funktionsreferenz die Funktion selbst aus ihrem eigenen Kontext gerissen und an das aufrufende Objekt (in dem Fall vermutlich das Event?) angeflanscht - und die Funktion selbst funktioniert dann nur dann, wenn sie nicht von ihrem Kontext abhängt; bei showModal und alert ist aber genau das der Fall, und deshalb fehlt dann der Kontext.

Die Lösung ist, nicht die Funktionsreferenz zu übergeben, sondern die Funktion innerhalb einer anonymen Funktion aufzurufen, wie dedlfix bereits sagte. Demnach funktioniert auch:

document.documentElement.addEventListener('click', function(){ window.alert(); });

Grüße,

RIDER

--
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
# Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[