2016-12-06 2 views
0

Я пытаюсь добавить функцию прослушивателя событий, но по какой-то причине она терпит неудачу. Смотрите пример:Ошибка при добавлении функции 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> 

При нажатии на "жми меня !!!" текст ничего не делает, кроме того функция showPopup() срабатывает один раз.

Я глубоко извиняюсь за этот тривиальный вопрос, но я трачу слишком много времени, чтобы увидеть ошибку.

Thanx много

+2

' ("щелчок", showPopup()) 'должны быть просто' ("щелчок", showPopup) '. Вы хотите передать * функцию *, а не запускать ее. –

+0

eh ... Я снял скобки на showPopup(), он отлично работает ...: - / – lyborko

ответ

1

Вы не должны выполнять функции, но передать его:

Вместо этого:

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

сделать:

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

Попробуйте

document.getElementById("first").addEventListener("click", showPopup); 
  • удалены () в showPopup

`

Смежные вопросы