为了账号安全,请及时绑定邮箱和手机立即绑定

为何在keydown事件中,按下字母键盘,输出显示会慢一拍,而按下数字键盘就会同步显示?

为何在keydown事件中,按下字母键盘,输出显示会慢一拍,而按下数字键盘就会同步显示?

我知道每次按下键盘的时候应该是读取文本框的内容,因为这个时候文本还未键入,所以读取的文本内容应该是按下键盘之前的文本,但是我按下数字键盘就直接读取了数字键入之后的内容?

正在回答

5 回答

我的感觉是按键松开的时候才能将字符写在目标中,比如input,所以在按下的时候执行了keydown,获取text并不能获取当前的按键对应的值

0 回复 有任何疑惑可以回复我~

我的也是,应该是keydown是要按下触发事件,你第一次的时候val值是空的,按第二个的时候才出现第一次的值;

keyup是按下val有值1,松开显示

2 回复 有任何疑惑可以回复我~

我的想法是,普通键盘按下"1"键,是按照"按下键"+"数字1"的顺序发出信号给主机,你那键盘则是以"数字1"+"按下键"的顺序发信号给主机。这就导致你的键盘数字区部分无法判断keydown和keyup事件的区别,因为数字字符总是在键盘按键判定前传输出去。

0 回复 有任何疑惑可以回复我~

按照keydown这个事件的属性应当是按下键盘后才会触发,一般键盘是先判定按键了在传递字符,难道你的键盘可以先将字符传出去再判定你是按了这个键?

0 回复 有任何疑惑可以回复我~
#1

乱不乱步 提问者

我猜想会不会是数组键盘是组合出来的,比如我按下了‘1’,其实是组合按键“1 + 按键*”?
2017-04-20 回复 有任何疑惑可以回复我~

我用数字键盘输入时没有这个情况啊,你确定不是错输到keyup栏里了?或者是因为输入数字是一样的?不管怎么试单就keydown事件没法同步显示啊

1 回复 有任何疑惑可以回复我~
#1

乱不乱步 提问者

我的是mac键盘,上面的一排数字键盘确实按下下面就同步输出了,我猜想会不会是数组键盘是组合出来的?
2017-04-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为何在keydown事件中,按下字母键盘,输出显示会慢一拍,而按下数字键盘就会同步显示?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信