使用键盘事件
来源:4-5 编程练习
迷失的小麦
2019-12-04 15:50:56
<!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"> /*(1)在文本域中输入文本,文本域的字数限制在30个字以内。 (2)每当用户输入一个字,就要提示还能输入多少个字 (3)当用户输入的文本超出了30个字时,要提示用户超出了多少字*/ var text=document.getElementById("text"); var b=document.getElementsByTagName("b")[0]; var span=document.getElementsByTagName("span")[0]; var shuzi=30; text.onkeyup=function(){ var i=text.value.length; var shengyu=shuzi-i; if(shengyu>=0){ b.innerHTML=shengyu; }else{ span.innerHTML="超出了<b>"+(shuzi+Math.abs(shengyu))+"</b>个字"; span.style.color="red"; } } </script> </body> </html>
在使用键盘事件的时候,分别在什么情况下使用?如本案例,为什么用onkeyup?我的代码错误在哪里,效果没出来?
1回答
同学你好,问题解答如下:
1、你的代码在控制台(F12打开)中有报错:24行问题
修改方式已经在另一个相似问题中进行了回复,可以查看一下:
https://class.imooc.com/course/qadetail/175727
2、onkeyup 事件会在键盘按键被松开时触发,这样才可以获取到输入的内容。如果改为onkeydown或者onkeypress事件获取不到当前输入的内容,获取的是输入之前的内容,也就是内容填充在这两个事件后面,所以通常情况下用onkeyup事件较多。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题