显示确认框时禁用按键

Disable keypress when showing confirm box

本文关键字:确认 显示      更新时间:2023-09-26

我有一个使用重键事件的站点。对于某些操作,它还会打开一个bootbox确认框。确认框显示在透明层上,因此除非用户在引导框确认中单击取消或确定,否则不会执行所有鼠标单击操作。然而,我也希望当确认框处于活动状态时,所有按键事件都应该被禁用。

当前我有:

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

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

任何指示都将不胜感激。

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

然后,您只需在关键事件功能上发布if(locked) return;即可。

希望它能有所帮助。

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