老师,有个问题

来源: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>


http://img.mukewang.com/climg/5fa36cdb0975c76107170554.jpg



如果输入英文确实是没有问题,就是输入中文时,会出现bug,这个该怎么解决呀。


写回答

1回答

好帮手慕慕子

2020-11-05

同学你好,是指出现如下图所示的bug吗?即:实际想要输入三个中文,但提示信息提示显示还可以输入22个字符吗?

http://img.mukewang.com/climg/5fa3765e097e20b003660149.jpg

如果是这样的话,那么这个不是bug,属于正常现象,因为只要鼠标抬起就会触发onkeyup事件,所以在拼写中文的时候,提示信息就会跟着改变,但是输入完成之后,提示信息是正确的。所以同学不用纠结这个,代码实现是正确的,,如下图所示:

http://img.mukewang.com/climg/5fa37a6209b450c703540160.jpg

如果不是指这里的话,建议图文结合详细描述下具体是什么bug,便于帮助同学准确的定位与解决问题,祝学习愉快~

0

0 学习 · 15276 问题

查看课程