为了做一些特殊的处理,我希望能够捕获双键按键(例如Char T).我希望按键发生得足够快,不能被解释为两个独立的按键,就像双击.
任何想法如何才能实现这一点?
任何想法如何才能实现这一点?
解决方法
当键被击中时,记下时间.然后将其与您最后一次点击的时间进行比较.
如果差异在你的门槛之内,那就认为是双重的.否则,不要.粗略的例子:
var delta = 500; var lastKeypressTime = 0; function KeyHandler(event) { if ( String.fromCharCode(event.charCode).toUpperCase()) == 'T' ) { var thisKeypressTime = new Date(); if ( thisKeypressTime - lastKeypressTime <= delta ) { doDoubleKeypress(); // optional - if we'd rather not detect a triple-press // as a second double-press,reset the timestamp thisKeypressTime = 0; } lastKeypressTime = thisKeypressTime; } }