创建事件侦听器时,函数立即触发

时间:2018-03-15 19:26:06

标签: javascript jquery

我正在编写一个函数,当单击图像时,它会向另一个图像添加一个事件监听器。在创建事件监听器时,立即调用myFunction()而不是等待#firstStep

的单击
  function firstImageClick(){
   //add event listener 
    document.getElementById("firstStep").addEventListener("click", myFunction());
  }

4 个答案:

答案 0 :(得分:3)

参数应为myFunction,而不是myFunction()

答案 1 :(得分:2)

您没有将myFunction添加为回调,而是将回复调用myFunction

您必须传递该函数,而不是调用它:

enfunction firstImageClick(){
    //add event listener 
    document.getElementById("firstStep").addEventListener("click",    myFunction);
}

答案 2 :(得分:1)

调用下面的函数

function firstImageClick(){
   //add event listener 
   document.getElementById("firstStep").addEventListener("click", 
   myFunction);
}

myFunction删除括号。

答案 3 :(得分:0)

括号使函数直接触发。通过取出括号来更改代码段的结尾。 ("click", myFunction());("click", myFunction);