使用键盘事件
来源: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事件较多。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题