如何在警报时禁用Esc按钮事件?

时间:2019-02-07 11:27:45

标签: javascript jquery

我要在单击按钮时显示alert消息。在按下警报弹出窗口的OK之后,我将进行进一步处理。

这是预期的流程,但是当用户按下 Esc 按钮时,同样也没有单击“确定”,我的页面便进入了进一步处理。我想限制此流程,即限制 Esc 按钮事件,但找不到任何方法。

var keynum

if (window.event) { // For IE
  keynum = e.keyCode
} else if (e.which) { //For netscape Mozilla Firefox
  keynum = e.which
}

if (keynum == '113' && saleFlag == true) {
  var totalQty = document.getElementById('totalQty').textContent;
  var totalAmt = document.getElementById('totalAmount').textContent;

  alert("You Played Total Qty: " + totalQty + " of Rs. " + totalAmt);    
} else if (keynum === '27') {
  return false;
}

但是警报消息仍然关闭。

我想要警报消息,因为它是在113键代码事件中打开的。

1 个答案:

答案 0 :(得分:5)

alert()的问题在于,它将始终返回undefined,因此您无法指示所按的内容。相反,您可以使用confirm()来显示类似的弹出窗口。

但是,confirm的优点是,如果您在弹出窗口中单击“确定”,则返回true,而如果您按 esc 则返回false,或者“取消”。

因此,使用confirm可以使用do-while循环不断弹出您的弹出窗口,直到用户按下“确定”(或按下 enter 键)为止< / p>

请参见以下示例:

do {
  res = confirm("Popup");
} while(!res);