javascript - 与 HTML 中的按钮关联的功能 - 未按预期工作

标签 javascript html

下面是我的按钮代码和单击该按钮时发出警报的函数。它在我加载页面时发出警报,但在我单击按钮时不发出警报。这段代码有什么问题?

<html>
<head>
<script type="text/javascript">
b1 = document.getElementById("b0");
b1.onclick = message();

function message() {
 alert("You clicked a button");
}
</script>
</head>
<body>
<h1>Checking button functionality!</h1>
<button id="b0">Click me</button>
</body>
</html>

最佳答案

您的脚本可能会在 b1 上抛出一个未定义的错误因为在您搜索 ID 为 b0 的元素时 DOM 未加载.

您需要更新脚本以查询 load 中的 DOM事件,或将其移动到您要获取的元素之后。通常的做法是在结束前放置脚本 </body>标签。

例如

<head>
<script>
  function message() {
    alert("You clicked a button");
  };

  window.onload = function() {
    b1 = document.getElementById('b0');
    b1.onclick = message;
  };
</script>
</head>
...

另请注意,我省略了 onclick 中的括号任务。您想要将函数分配给事件,而不是调用函数然后分配它。

关于javascript - 与 HTML 中的按钮关联的功能 - 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36094148/

相关文章:

javascript - 在 React 的 forEach 循环中更新状态无法正常工作

javascript - 如何绑定(bind)对使用 AJAX 加载的新数据的点击? -- 查询

javascript - 使 div 根据 Javascript 值出现

html - 屏幕阅读器如何处理 display flex?

javascript - Facebook 聊天 Conceal 我的 Flask 应用程序

javascript - setTimeout(function() {doSth();}, 3) 与 setTimeout(doSth, 3)?

javascript - 在 javascript 中显示接下来的 5 天(不包括星期日)

html - 折叠边栏菜单 Flex

html - 如何将导航栏放在左侧的 Bootstrap 中?

javascript - 我如何使用 Jquery 调整三 Angular 形的大小