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

Abh*_*ale 3 javascript jquery

我想alert在按钮点击时显示一条消息.按下警报弹出窗口后,我将进行进一步处理.

这是预期的流程,但是当用户按下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;
}
Run Code Online (Sandbox Code Playgroud)

但警报信息仍然关闭.

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

Nic*_*ons 5

问题alert()在于它总是会返回undefined,不会给你任何压力.相反,您可以使用confirm()它来显示类似的弹出窗口.

但是,它的优点confirm是,true如果你在弹出窗口中单击"确定"并且false按下esc或"取消" ,它将返回a .

因此,使用confirm你可以使用do-while循环来弹出你的弹出窗口,直到用户按下"确定"(或按下enter键)

见下面的例子:

do {
  res = confirm("Popup");
} while(!res); 
Run Code Online (Sandbox Code Playgroud)