Confusion with window.onload
Confusion with window.onload
>我只是从一本书中复制粘贴了这一部分:
window.onload = init;
function init() {
var button = document.getElementById("addButton");
button.onclick = handleButtonClick();
}
function handleButtonClick() {
alert("Button has been clicked");
}
问题是在我加载页面时出现警报,而不是在单击按钮时出现。有人为什么吗?
更改
button.onclick = handleButtonClick();
自
button.onclick = handleButtonClick;
(不带()
。
您的原始行button.onclick = handleButtonClick();
调用 handleButtonClick
函数,然后将其返回值分配给 button.onclick
。就像
var a = foo();
。调用 foo
,然后将其返回值分配给 a
。
您不想这样做,只想将函数引用分配给onclick
。因此,您通过其名称引用该函数,而无需调用它(因此,没有()
)。
相关文章:
- window.onload没有'无法在Android WebView中工作
- 你能停止window.onload函数吗
- window.onload适用于aspx页面,但不适用于普通html
- 使用window.onload超过1次
- 关于javascript中的window.onload
- 未捕获的类型错误:无法设置属性'onclick'为null.已尝试window.onload
- 如何只使用一次window.onload函数
- window.onload 不适用于计数器页面
- Window.onload 未被调用 [Ruby on Rails] [Vanilla Javascript]
- window.onload和.click()在ie9中不起作用
- JavaScript window.onload versus body.onload
- 将Window Onload函数转换为非阻塞
- 为什么window.onload函数未定义
- 在window.onload之前/之后创建对象之间的区别
- JavaScript window.onload
- 为什么getElementsByClassName可以在没有“;window.onload”;
- window.onload在窗口已打开时未启动
- window.onload未在IE中启动
- “;预加载“;<音频>影响window.onload事件时间
- 何时使用“;window.onload”;