4-10作业

来源:4-10 编程练习

从不学习

2021-09-22 20:47:03

相关截图:

https://img.mukewang.com/climg/614b25b80970561c19480924.jpg

问题描述:

是这样吗

写回答

2回答

好帮手慕慕子

2021-09-23

同学你好,由于超出后,替换了span标签中的内容,此时b标签已经不存在了,导致超出后回删到小于30位字符时,无法再给b标签设置内容,所以提示信息不再发生变化,如下图所示:

https://img.mukewang.com/climg/614bdeb1091c72fe04710188.jpg

建议修改:直接使用onkeyup事件,获取输入框中的内容,根据内容的长度进行判断,然后直接设置span元素的innerHTML属性值即可,示例:

https://img.mukewang.com/climg/614be0bf0901debb07580734.jpg

祝学习愉快~

0

从不学习

提问者

2021-09-22

<!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 textArea = document.getElementById("text");

var overplus = document.getElementsByTagName("b")[0];

var overspan = document.getElementsByTagName("span")[0];

var keysum = 0

textArea.onkeydown = function(e){

  if(e.code != "Backspace"){

        keysum++;

  }else{

        keysum--;

  }


    console.log(keysum,e)

}

textArea.onkeyup = function(){

    

     if( 30-keysum < 0){

         var oversum = keysum-30

        overspan.innerHTML="您已超出"+oversum

     }else{

        overplus.innerHTML=30-keysum

     }

  


}


</script>

</body>

</html>

 

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程

相似问题

4-10 作业

回答 1

4-12作业

回答 1

4-9作业

回答 1