elo*_*lon 2 javascript jquery events input
$("#input").keyup(function(){
 console.log($(this).val());
})
问题是当一个人慢慢键入"a"和"b"时,上面的代码将导致控制台日志中的"a","b".但是当有人快速完成时,结果是"ab","ab".使用键盘附近的字母更容易."E"和"R".怎么避免呢?
事件keydown和keypress不会遇到"quicktypers"的问题,但是在这种情况下它们也是早期的,因为输入的值在它们出现时不包含最后输入的字母.或者也许有办法让这封信如何?
嗯,问题不是真正快速打字,而是实际发生关键事件时.考虑一下:
无论这样做的速度有多慢,在释放第一个密钥之前,您都不会获得密钥启动事件.显然没有办法解决这个问题,在释放密钥之前不能导致密钥启动事件.
如果您只想要在按键事件中按下的键,则可以从事件对象中获取该键.例:
$('#input').keypress(function(e){
  console.log(e.which);
});