JavaScript事件没有被解雇
问题描述:
一旦#theButton
被点击,应该触发一个提醒。为什么没有使用以下方法触发任何事件? 在此先感谢。JavaScript事件没有被解雇
<html>
<head>
<script type="text/javascript" language="javascript">
var theButton = document.getElementById("theButton");
theButton.onclick = function(){alert("Clicked!");}
theButton.onclick = clickAlert;
theButton.onclick(alert("Clicked!"));
function clickAlert(){
alert("Clicked!");
}
</script>
</head>
<body>
<input type="button" id="theButton">
</body>
</html>
答
你有三个问题
- 你拼错
function
第7行(这会产生一个运行时错误,顺便说一句) - 您尝试访问节点#theButton它在DOM可用之前。就拿佩卡的建议为这一个
- 您覆盖
onclick
财产上的8号线 - 不知道,如果你这样做的目的还是什么
答
尝试将其封装在document.Ready()函数中。
+0
这不一定存在 - OP不使用jQuery。 – 2010-06-18 20:41:13
答
我喜欢jQuery.ready()
的答案,但我相信你也可以移动<script>
阻止某些点击您在页面末尾处释放按钮。
+0
...或使用'onload'事件。 – 2010-06-18 20:42:54
答
它的工作原理,如果你把输入标签中的onclick(和拼写正确的事情):
<html>
<head>
<script type="text/javascript" language="javascript">
function clickAlert(){
alert("Clicked!");
}
</script>
</head>
<body>
<input type="button" id="theButton" NAME="theButton" onclick="clickAlert()">
</body>
</html>
注重细节是在编程很重要,缺乏对细节的关注显示了某些缺乏职业精神。拼写错误和错误拼写功能名称表示对细节缺乏关注。此外,您的逻辑有缺陷,您在按钮实际存在之前一遍又一遍地分配相同的内容。 – 2010-06-18 20:45:08
如果你之前写过这样的话,我会一直很好,因为我会从中学到一些东西。但讽刺并没有教导任何东西。 – Babiker 2010-06-18 20:53:10