显示确认框时禁用按键

Disable keypress when showing confirm box

我有一个使用大量按键事件的网站。对于某些操作,它还会打开一个 bootbox confirm box。确认框显示在透明层上,因此所有鼠标单击操作都不会执行,除非用户在引导框确认中单击取消或确定。但是,我还希望在确认框处于活动状态时禁用所有按键事件。

目前我有:

bootbox.confirm('blah blah'? function(yesPlease){
  if(yesPlease) {
     goAndClimbAVolcano();
  }
});

我可以将此确认包装在 disableAllKeyPress()enableAllKeyPress() 下,但我想知道是否有更简单的方法来实现此...

非常感谢任何指点。

我会使用布尔值来锁定事件。在您的确认消息出现之前放置一个 locked=true,在它关闭之后放置一个 locked=false

那么您只需在您的关键事件函数上添加 if(locked) return;

希望对您有所帮助。

编辑:我知道有很多方法可以做到,我只是发布了一个不同的方法:)