用onclick调用Javascript函数

时间:2016-05-26 13:33:53

标签: javascript html function

我对此代码有疑问,当我点击按钮时,它应该执行“hello”功能并打开警报,但它不起作用。

function hello(){
  alert("hi");
  }

document.getElementById("one").onclick = hello();
<button id="one">Click me </button>

我知道我可以这样做

button onclick="hello()";
但是我需要它来使用javascript版本。基本上我的问题是:当我点击按钮而没有将onclick放在按钮标签中时,是否有办法打开“hello”功能?

2 个答案:

答案 0 :(得分:3)

这是一个常见问题,但我无法找到将您链接到的规范答案。

你的问题在这一行:

document.getElementById("one").onclick = hello()
执行函数hello然后将该函数的返回值赋给onclick

你真的想要这个:

document.getElementById("one").onclick = hello;

为onclick属性分配函数引用。

尽管如此,onclick的使用已经过时,建议使用addEventListener,原因有很多。

答案 1 :(得分:1)

您必须为onclick属性分配一个函数。

立即调用hello函数并指定其返回值(undefined)。

不要将()放在函数名后面。

document.getElementById("one").onclick = hello;