警报随着keyup事件而消失

时间:2015-03-11 00:54:40

标签: javascript jquery

我将两个事件绑定到警报功能:单击按钮并按下按钮空间。函数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;
  });      
}

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

1 个答案:

答案 0 :(得分:1)

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