wie kann ich in javascript eine funktion ohne button auslösen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Wo kommt denn result überhaupt her? Ist das irgendwo in deinem Scope definiert?

Für das Laden der Seite kannst du das load-Event benutzen. Dies geht auf verschiedene Wege:

  • Direkt in HTML mittels onload="deinefunktion()"
  • Event-Listener mit element.addEventListener("load", () => { deineFunktion() }
  • Event-Listener mit element.onload = () => { deineFunktion() }

Ich benutze meistens das Zweite. Direkt in HTML finde ich das ein wenig unschön.

Warum funktioniert jetzt aber dein Beispiel

window.onload = Funktion({{result}});

nicht?

Hier setzt du die Funktion, die beim Event aufgerufen wird, auf das Resultat, der deiner Funktion. Du müsstest hier aber nur die Funktionsreferenz angeben, sprich:

window.onload = Funktion;

Dann ist aber dein Resultat nicht mehr da. JavaScript setzt das erste Argument dann automatisch auf das Eventobjekt, worin ein paar Infos zum Event enthalten sind.

Um das also mit deinem result kompatibel zu machen, musst du dies wie folgt schreiben:

window.onload = () => { Funktion({{result}}) };

// oder wie ich es lieber mache
window.addEventListener("load", () => { Funktion({{result}}) };
Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung