我想定义一个onclick动作,但是在这一行之后它正在执行它:
document.getElementById("rollDiceAction").onclick = rollDiceSpecial();
我该怎么办?
答案 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);