jquery的keyup,keydown,keypress事件小区别。

中所周知,jquery封装了很多事件交互方法,这里讲到的问题在原生js中也是有的。

keyup是在用户将按键抬起的时候才会触发的,属于整个按键过程中的最后阶段,所以有其特定的用处,就是在左侧输入,右侧同步显示的过程中很有用处。典型的例子就是邮件编辑预览的应用。还有就是验证用户名是否存在的应用,当然,验证用户是否存在可以用blur事件,但是blur事件有时会出现问题。

<textarea id="t1"></textarea> 
<div id="v1"></div> 
<textarea id="t2"></textarea> 
<div id="v2"></div> 
<textarea id="t3"></textarea> 
<div id="v3"></div> 
<script type="text/javascript"> 
$(function() { 
$('#t1').live('keyup',function() { 
  $('#v1').text($(this).val()); 
}); 
$('#t2').live('keydown',function() { 
  $('#v2').text($(this).val()); 
}); 
$('#t3).live('keypress',function() { 
  $('#v3').text($(this).val()); 
}); 
}); 
</script>

这里分别应用了三种事件,其中t1能够完整的同步到v1中,而keypress和keydown总是少最后一个字符,这样就说明了这三种事件触发的小小区别,keydown是在按下时触发,不能得到最后的输入结果,keypress也是一样。