我希望能够捕获双键按下(例如对于 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;
}
}
关于javascript - 如何在javascript中捕获双键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1223764/