我必须在这里错过一些非常简单的东西,但我不能为我的生活弄清楚。为什么下面的页面在页面加载时执行alert
,而不是按预期按钮点击?我试图将clicky()
函数分配给事件监听器(此分配发生在页面加载时),而是在页面加载时发生实际警报(即调用clicky函数),并且按钮永远不会获得其监听器。我错过了什么?
<html>
<head>
<script>
function clicky() {
alert("clicky");
}
function start() {
var myButton = document.getElementById("theButton");
myButton.addEventListener("onclick", clicky(), false);
}
window.onload = start;
</script>
</head>
<body>
<input type="button" id="theButton" value="I'm a button!">
</body>
</html>
答案 0 :(得分:1)
在调用addEventListener时尝试'click'而不是'onclick'。
答案 1 :(得分:1)
您正在添加clicky()作为侦听器返回的内容,而不是clicky本身。 clicky()不返回任何内容(未定义),这就是没有附加处理程序的原因。只需摆脱括号。
//编辑:哦,我可以看到这只是问题的一半。