JS (javascript)中getID后,onclick触发事件无效

代码很简单:<head><metahttp-equiv="content-type"content="text/html;charset=utf-8"><scriptty... 代码很简单:
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" >
<script type="text/javascript">
var a=document.getElementById('button')

a.onclick=function(){
alert("123");
}

</script>
</head>
<input type="button" id="button" value="点我">

如果我用行内式JS 在input中直接添加onclick="xx()" 就可以正常触发函数,但是我换这种写法后就触发不了了,点击没反应!请会的人普及下知识,我这哪错了
展开
 我来答
让猫飞一会儿
2015-02-03 · TA获得超过1120个赞
知道小有建树答主
回答量:540
采纳率:80%
帮助的人:278万
展开全部
把script脚本移到input后面就行了。像下面这样:
<input type="button" id="button" value="点我">
<script type="text/javascript">
var a=document.getElementById('button')

a.onclick=function(){
alert("123");
}

</script>
追问
JS肯定要写在head里面啊,问题不在这吧,而且我按你说的放到后面也根本无效啊,JS不就是写在head或body里面么,一般都是head
追答
因为你的代码中,页面先加载的script,后加载的input
当页面加载,运行到script时,因为你的input还没画出来,就会出现找不到的错误
但如果使用了"onclick=xx()"、或者window.onload、或者把Script写到后面
就可以让script找到你的input元素
如果写到head里,一般都是加上
window.onload=function(){你的JS代码};
或者
jQuery(function(){你的JS代码});
或者
直接写你的JS代码,然后等待事件调用。
匿名用户
推荐于2016-01-26
展开全部
<!DOCTYPE HTML>
<html>
<head>
<meta charset=UTF-8>
<title>YuGiOh</title>
<style type="text/css">
</style>
<script type="text/javascript">
onload = function ()
    {
    var a = document.getElementById ('button')
    a.onclick = function ()
    {
    alert ("123");
    }
    }
</script>
</head>
<body>
<input type="button" id="button" value="点我">
</body>
</html>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式