【问题标题】:Run function when keyboard event is disable禁用键盘事件时的运行功能
【发布时间】:2023-03-16 08:11:02
【问题描述】:

每当我将手指从空间中移开时,我都想运行最高设置间隔,但是当我使用按键事件时,它只运行一次该功能,而且我不知道如何在添加事件侦听器时使用 if/else

setInterval(function (e) {
  r--;
}, 10);

document.addEventListener("keydown", function (e) {
  console.log(r);
  if (e.keyCode === 32) {
    setInterval(function (e) {
      r++;
      if (r > 240) {
        r = 200;
      }
    }, 100);
  }
});

【问题讨论】:

  • 这将有助于更多地了解您要完成的工作

标签: javascript events keyboard setinterval


【解决方案1】:

我假设您想在按下空间时执行该功能 x 次。如果是这样,您可能想看看下面的代码。这将执行 100 次函数。

var isDoingStuff = false;
var r = 0;

function repeat(func, times) {
    func();
    times && --times && repeat(func, times);
}

function yourFunction(){
    r++;
    if(r > 240){
        r = 200;
    }
}

function onKeyDown(e){
    if (!isDoingStuff && e.keyCode === 32) {
      isDoingStuff = true;
      console.log(r);
      repeat(yourFunction, 100);
      isDoingStuff = false;
    }
}
document.addEventListener("keydown", onKeyDown);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    相关资源
    最近更新 更多