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也是一样。