昨天在写上次那个动态生成年月日下拉框和文本框限制输入的时候遇到了一个问题,文本框里输入的时候要开始计算文本框里面输入了多少字,自然想到了onkeydown事件,然后计算value.length的方法,看代码吧
01 | moto.onkeydown=function(){ |
02 | varcurlen=+this.value.length; |
03 | shuru.innerHTML=curlen; |
04 | shuru2.innerHTML=+(200-curlen); |
05 | if(curlen>=200){ |
06 | this.value=this.value.substring(0,200); |
07 | curlen=200; |
08 | shuru.innerHTML=200; |
09 | shuru2.innerHTML=0; |
10 | returnfalse; |
11 | } |
12 | } |
想了好久,最后当吧onkeydown换成onkeyup之后,一切就好了
查了一下然来这两个事件是有不同的
onkeydown是按下的时候触发的,这个时候键值没有输出来。onkeyup是按键抬起的时候执行的,这个时候键值已经有了。 和按多长时间没关系,比如你给输入框加这2个事件,
<input type="text" id="test1" οnkeydοwn="alert(this.value);"/>
<input type="text" id="test2" οnkeyup="alert(this.value);"/>
你看看这二个不同的运行结果就明白 了!
本文通过一个具体的实例,对比了onkeyup与onkeydown事件在实际应用中的不同表现,并详细解释了两者之间的区别。

4569

被折叠的 条评论
为什么被折叠?



