如何防止该功能立即执行?

时间:2017-01-26 21:23:31

标签: javascript html

我想定义一个onclick动作,但是在这一行之后它正在执行它:

document.getElementById("rollDiceAction").onclick = rollDiceSpecial();

我该怎么办?

2 个答案:

答案 0 :(得分:3)

要引用一个函数,只需说出它的名字:

x = foo;  // Set x equal to the function foo

要调用它,请在其名称后加上括号:

x = foo(); // Invoke foo and set x equal to the result

只需删除行末尾的括号,即可将rollDiceSpecial函数与onclick属性相关联。

 document.getElementById("rollDiceAction").onclick = rollDiceSpecial;

答案 1 :(得分:0)

删除括号:

document.getElementById("rollDiceAction").onclick = rollDiceSpecial;

你应该真的使用addEventListener - 分配给元素的onclick属性有点老了,并且限制你为每个元素一个事件处理程序。

document.getElementById("rollDiceAction").addEventListener("click", rollDiceSpecial);