将函数的点击事件设置为按钮

Set click event for function to button

我有一个按钮,我想为其分配一个点击事件,这样当我点击该按钮时,它将 运行 函数。

<button id="buttonid"></button>

当我运行下面的脚本会触发该功能,但不会给按钮添加点击事件。所以我无法使用按钮触发功能。

function myFunction() {
  alert("Hello, world!");
}

var element = document.getElementById("buttonid");
element.onclick = myFunction;

我相信我的目标是这样的:

<button id="buttonid" onClick="myFunction()">

试试这个:

function myFunction(e) {
  alert("Hello, world!");
  console.log(e);
}
<button id="buttonid" onclick="myFunction(event)">Click me</button>
如果你想从 js 代码添加事件处理程序,那么应该包含该代码 blow your html with button.

您的初始代码应该可以工作,前提是它是 运行 在 DOM 准备就绪之后,以便 document.getElementById("buttonid"); 实际找到元素。

检查您的控制台是否存在可能表明 elementundefined 的错误。

确保将包含您的代码的 script 标签移动到底部(在关闭 body 标签 之前)

在上述之后,更好的方法是不设置 onclick 属性,而是使用 addEventListener 方法。

<body>

  <button id="buttonid">clickme</button>

  <script>
    function myFunction() {
      alert("Hello, world!");
    }

    var element = document.getElementById("buttonid");
    element.addEventListener('click', myFunction);
  </script>
</body>