javascript - 脚本不等待 onclick 事件

标签 javascript html

在下面的代码中,为什么标题文本会在页面加载时发生变化,而不是仅在单击按钮后发生变化?

<h1 id="header">This is a header</h1>
<button id="btn1">Change text</button>
<script>
  function change_text(target_id, target_text) {
    document.getElementById(target_id).textContent = target_text;
}

button1 = document.getElementById("btn1")
button1.onclick = change_text("header", "something")
</script>

最佳答案

如果您想重用该函数并将 onclick 保留在标记之外,您可以这样做:

<h1 id="header">This is a header</h1>
<button id="btn1">Change text</button>
<script>
function change_text(target_id, target_text) {
    document.getElementById(target_id).textContent = target_text;
}

button1 = document.getElementById("btn1")
button1.onclick = function () {
    change_text("header", "something");
}
</script>

这使用了一种称为匿名函数的东西。

在此了解更多信息:JavaScript Functions

关于javascript - 脚本不等待 onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49181119/

相关文章:

javascript - 在 Javascript 中从剪贴板读取文件

HTML 图像在应该旋转时向右移动

html - Angular 6 - 单击使 div 可编辑

javascript - 格式化json日期添加0

javascript - Three.js 不尊重我的常态

javascript - 如何使用 jQuery 获取选择表单的输入值?

javascript - 将 html 数据附加到内联脚本 html 数据并打印

javascript - 如何在 React 中建模列表

javascript - 在文档加载后将 Angular Directive(指令)附加到 DOM 不适用于 ngAnimate

javascript - 如何在 onsubmit post 方法表单后显示 thankyou