javascript onkeydown 为什么只能执行一次,再次触发却无效了呢?
<html><head><title>无标题文档</title></head><scripttype="text/javascript">vars=1;functionk...
<html>
<head>
<title>无标题文档</title>
</head>
<script type="text/javascript">
var s=1;
function keydown(evt) {
var evt=event;
if(evt.keyCode==40) {
s+=s;
document.write(s);
return false;
}
}
</script>
</head>
<body onkeydown="keydown(event)">
</body>
</html> 展开
<head>
<title>无标题文档</title>
</head>
<script type="text/javascript">
var s=1;
function keydown(evt) {
var evt=event;
if(evt.keyCode==40) {
s+=s;
document.write(s);
return false;
}
}
</script>
</head>
<body onkeydown="keydown(event)">
</body>
</html> 展开
2个回答
展开全部
因为document.write是流输出. 你把它写在后触发的事件里一旦函数执行到你语句中的document.write(s);整片页面就只剩一个s的结果了. 把那句改成document.body.innerHTML += s;就成了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说法对的
<html>
<head>
<title>无标题文档</title>
</head>
<script type="text/javascript">
var s=1;
function keydown(evt) {
var evt=event;
if(evt.keyCode==40) {
document.body.innerHTML = s; //s不用自加,document.write是流输出,你若用alert(s)输出也行
s++; //你是想统计点击的次数吧,那就不是s+=s了,是s++触发一次onkeydown就自加一次
return false;
}
}
</script>
</head>
<body onkeydown="return keydown(event)">
</body>
</html>
<html>
<head>
<title>无标题文档</title>
</head>
<script type="text/javascript">
var s=1;
function keydown(evt) {
var evt=event;
if(evt.keyCode==40) {
document.body.innerHTML = s; //s不用自加,document.write是流输出,你若用alert(s)输出也行
s++; //你是想统计点击的次数吧,那就不是s+=s了,是s++触发一次onkeydown就自加一次
return false;
}
}
</script>
</head>
<body onkeydown="return keydown(event)">
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询