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()" 就可以正常触发函数,但是我换这种写法后就触发不了了,点击没反应!请会的人普及下知识,我这哪错了 展开
<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()" 就可以正常触发函数,但是我换这种写法后就触发不了了,点击没反应!请会的人普及下知识,我这哪错了 展开
2个回答
展开全部
把script脚本移到input后面就行了。像下面这样:
<input type="button" id="button" value="点我">
<script type="text/javascript">
var a=document.getElementById('button')
a.onclick=function(){
alert("123");
}
</script>
<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>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询