老师,有个问题
来源:4-10 编程练习
玄鱼琉璃
2020-11-05 11:09:59
<!DOCTYPE html>
<html>
<head>
<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 oText = document.getElementById("text");
var oSpan = document.getElementsByTagName("span")[0];
var oB = oSpan.getElementsByTagName('b')[0];
var temp = 30;
oText.onkeyup = function() {
var length = this.value.length;
if (length <= temp) {
oB.innerText = temp - length;
oSpan.innerHTML = '您还可以输入<b>'+oB.innerText+'</b>字';
} else {
oB.innerText = length - temp;
oSpan.innerHTML = '已经超出了<b>'+oB.innerText+'</b>字';
}
}
</script>
</body>
</html>
如果输入英文确实是没有问题,就是输入中文时,会出现bug,这个该怎么解决呀。
1回答
同学你好,是指出现如下图所示的bug吗?即:实际想要输入三个中文,但提示信息提示显示还可以输入22个字符吗?
如果是这样的话,那么这个不是bug,属于正常现象,因为只要鼠标抬起就会触发onkeyup事件,所以在拼写中文的时候,提示信息就会跟着改变,但是输入完成之后,提示信息是正确的。所以同学不用纠结这个,代码实现是正确的,,如下图所示:
如果不是指这里的话,建议图文结合详细描述下具体是什么bug,便于帮助同学准确的定位与解决问题,祝学习愉快~
相似问题