2016-12-06 4 views
0

Ich versuche, Ereignis-Listener-Funktion hinzuzufügen, aber aus irgendeinem Grund schlägt es fehl. Siehe Beispiel:Fehler beim Hinzufügen von Funktion zu addEventListener()

<!DOCTYPE html> 
<html> 
    <head> 
     <script>  
     function loaded(){ 
       document.getElementById("first").addEventListener("click", showPopup()); 

     } 


     function showPopup(){ 
      alert('hello'); 
     } 


</script> 
    </head> 
    <body onload="loaded()">   
     <div id="first"> 
      click me !!! 
     </div> 
    </body> 
</html> 

Ein Klick auf das "me klicken !!!" text do nothing, außerdem wird die showPopup() -Funktion einmal ausgelöst.

Ich entschuldige mich tief für diese triviale Frage, aber ich verbringe zu viel Zeit, um den Fehler zu sehen.

Thanx viel

+2

' ("Klick", showpopup()) 'sollte gerade sein,' ("Klick", showpopup) '. Sie möchten die * Funktion * übergeben, nicht ausführen. –

+0

eh ... Ich habe Klammern auf showPopup() entfernt, es läuft gut ...: - / – lyborko

Antwort

1

Sie sollten die Funktion nicht ausführen, aber es passieren:

Statt dessen:

document.getElementById("first").addEventListener("click", showPopup()); 

tun:

document.getElementById("first").addEventListener("click", showPopup); 
1

dieses

Versuchen
document.getElementById("first").addEventListener("click", showPopup); 
  • entfernt () in showPopup

`

Verwandte Themen