由于某些原因,我必须依赖 keypress
而不是 keydown/keyup
。如果按键被按下,keypress
会重复触发事件。如何仅跟踪按键的第一次按下?
对于 keydown/keyup
这不是问题,因为有专用的 keyup
事件。但这不是 keypress
的情况。
最佳答案
检查事件的“重复”属性 ( https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent )
如果为假则为第一个事件,否则为真。
使用 jquery 的例子:
$("#someid").on("keypress", function(e){
if(!e.originalEvent.repeat){console.log("first keypress")};
})
关于javascript - 跟踪第一个按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25462528/