将它们放入命名函数后,Button不起作用

时间:2017-04-15 03:34:51

标签: javascript

当我用匿名函数(如

)编写代码时,我会编写一些JavaScript代码

<br />"button.onclick = function() { some code; };

它正常工作。但是当我尝试写作

<br />
foe.onclick = myFunction();
function myFunction() { same code here; }

单击按钮后没有任何反应。我尝试在alert中添加myFunction(),并在页面加载后立即显示。为什么会这样?

2 个答案:

答案 0 :(得分:0)

您需要从

更改
foe.onclick = myFunction();

foe.onclick = myFunction;

答案 1 :(得分:0)

当您使用带括号的函数调用时,您正在调用该函数。所以,当你使用: foe.onclick = myFunction(); 它实际上在此时执行该函数并返回要使用的onclick的值。 您也可以使用:

function myFunction () {
   return anotherFunction();
}
foe.onclick = myFunction();

此处,点击anotherFunction元素时会调用foe

正如辛指出的那样,你可以使用:

foe.onclick = myFunction;

单击元素时调用myFunction。在Javascript中,函数可以像变量一样被引用和传递:D