我们正在为我们的网站使用以下jQuery代码:
$(document).keydown(function (x) {
if (x.keycode == 9) {
// perform some action
}
})
然而,它目前的工作方式是,当您快速连续按下此键时,操作不会连续执行,而是忽略任何按键,直到当前操作完成。我们希望这样做,以便任何额外的按键排队,并且在动作期间进行的任何按键操作都会导致动作也被执行,但仅在执行动作的最后一次迭代之后。
因此,例如,如果您按键9次,则无论是否在按键期间执行操作,操作都会执行9次。我现在拥有它的方式是你可以按键9次,但只有n< = 9才会执行n次操作,因为在执行操作时没有识别按键。
有什么想法吗?
编辑:根据亨特的说法,我需要使用某种队列来排列按键排队......我该如何处理呢?答案 0 :(得分:2)
var inProgress = false;
$(document).keydown(function (x) {
if (x.which == 9) {
if (!inProgress)
{
inProgress = true;
// perform some action
inProgress = false;
}
}
})