javascript - 警报随着 keyup 事件消失

标签 javascript jquery

我将两个事件绑定(bind)到警报功能:单击按钮和按下按钮空间。函数 shuffle 显示一个警报,我想单击按钮或按空格键来显示对话框(长时间)。

  $("#ShuffleButton").on("click", Shuffle);

  $(window).keypress(function(e) {
    e.preventDefault();
    if (pressAllowed) {
      pressAllowed = false;

      if (e.keyCode == 0 || e.keyCode == 32) {
        Shuffle();  
      }          
    }
  });

  $(window).keyup(function(e) {
    e.preventDefault();
    pressAllowed = true;
  });      
}

当我点击按钮时,它工作正常。但是,当我按空格键时,警报会出现,并在触发 keyup 事件时立即消失。这是什么原因?

最佳答案

我已经在 Chrome 中对此进行了测试 - 按空格键会单击警报上的“确定”按钮。您的按键将打开警报窗口,然后立即将其关闭。您可以通过尝试 32 以外的键码来测试这一点 - 警报窗口将出现并且不会消失。

关于javascript - 警报随着 keyup 事件消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28976755/

相关文章:

javascript - 如何在所有线程运行完毕后运行代码?

javascript - 不要在 IE6 或更低版本中加载脚本

jquery - 从服务器的 $.getJSON 请求获取 aoColumnDefs 和 aoColumns?

javascript - 在用 JS 触发某个函数后,如何忽略某个代码块?例如

javascript - 插件方法 - 这里有什么魔力?

javascript - 返回顶部按钮未正确触发

javascript - 如何将 GridView ID 和其他控件传递到 jQuery 函数中?

javascript - 在 IE 中显示/隐藏选项

javascript - 在任何网站上展示我的 CSS 演示

javascript - 以弧形拖动元素的最简单方法是什么?