老师,我怎么才能在删除内容时不卡在“超出一个字”呢??

来源:4-5 编程练习

初遇你时风很甜

2020-02-04 23:01:52

<!DOCTYPE html>
<html>
<head lang="en">
   <meta charset="UTF-8">
   <title>输入文本</title>
</head>
<body>
<p>字数限制在30字内,<span>您还可以输入<b id="count">30</b> 字</span></p>
<textarea cols="50"  rows="7"  id="text"></textarea>
<script type="text/javascript">
//补充代码
//获取相关DOM值
var text=document.getElementById("text"),
count=document.getElementById("count"),
span=document.getElementsByTagName("span")[0],
total=30;
//定义键盘事件
text.onkeydown=function(){
       //获取输入文本域长度
var len=text.value.length;
console.log(len);
var allow=total-len;
if(allow>=0){
           count.innerHTML=allow;
}else{
           span.innerHTML="你已超出"+Math.abs(allow)+"个字";
}
   }
</script>
</body>
</html>

写回答

1回答

好帮手慕言

2020-02-05

同学你好,onkeyup 事件会在键盘按键被松开时触发,这样才可以获取到输入的内容。因此建议:本编程题使用onkeyup 事件。

如下:

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

关于删除内容时,原因是,在回删时count元素不存在了。可以参考下方:

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

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

1

0 学习 · 40143 问题

查看课程