辛苦老师帮忙检查一下
来源:4-10 编程练习
小雨不大点
2021-04-22 10:42:05
相关代码:
相关代码:<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>输入文本</title>
</head>
<body>
<p>字数限制在30字内,<span>您还可以输入<b>30</b> 字</span></p>
<textarea cols="50" rows="7" id="text"></textarea>
<script type="text/javascript">
//补充代码
//文本域对象
var text = document.getElementById('text');
//字数变化元素
var b = document.getElementsByTagName('b')[0];
//字数超过限制提示标签
var out = document.getElementsByTagName('span')[0];
//接收输入总字数
var all =30 ;
var down =0;
text.onkeyup=function(){
down+=1;
console.log(down);
var surplus=all-down;
if (surplus<0){
out.innerHTML='已超出'+(-surplus)+'字';
}else{
b.innerHTML=surplus;
}
}
</script>
</body>
</html>
1回答
同学你好,代码实现效果有些问题,具体如下:
1、当一直摁住键盘输入内容时,下图中可输入字数的数值不会随之发生改变,只有当松开键盘时,可输入字数才会减1,但不会减去输入字符的长度,如图

2、当删除输入内容时,可输入字数的数值是减少的(如图),正确情况应该是增加。

建议同学参考如下思路实现该功能:
对于(1)中的问题,建议同学将onkeyup事件修改为onkeydown事件即可解决。
对于(2)中的问题,建议同学参考以下代码再实现一遍,如图

祝学习愉快!
相似问题