关于keydown、keypress、keyup的一点区别

$("input").on('keyup',function(e){
    console.log("up")
    console.log(this.value)
}).on('keydown',function(){
    console.log("down")
    console.log(this.value)
}).on('keypress',function(){
    console.log("press")
    console.log(this.value)
});
输入后数字1后的输出结果
down
(空字符串)
press
(空字符串)
up
1
事件第一次输入数字1第二次输入数字2
keydowndown (空字符串)down 1
keypresspress (空字符串)press 1
keyupup 1up 12

由以上结果可见这三个事件的执行顺序分别是keydown》keypress》keyup
并且前两个事件不能获取到当前的输入的值 只有 keyup事件可以获取当前的输入keydownkeypress只能获取到上一次的输入值
PS:在中文情况下
部分的按钮事件不能触发 keypress 与 keydown事件比如等于号按键 shift 键等。

2016.12.21

    原文作者:黄清淮
    原文地址: https://www.jianshu.com/p/d3f84916b841
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞