【发布时间】:2019-07-01 12:13:39
【问题描述】:
我想在单击按钮时显示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;
}
但警报消息仍然关闭。
我想要在 113 键码事件上打开的警报消息。
【问题讨论】:
-
简单的答案,你不能。它由操作系统控制,其级别低于 JS 可以访问的级别。如果您想在明确单击“确定”按钮之前阻止访问,那么您需要使用第三方库,该库在 HTML 中添加模式弹出窗口,而不是使用
alert()- 尽管请注意,这些更容易绕过。 -
也许用
confirm代替..while (!confirm("continue")); -
问题是当警报显示时你的javascript被忽略了。它会阻塞执行,所以不会运行任何 js 代码
-
@Keith 我也试过这个但确认也关闭了!
-
这是an XY problem。您应该研究如何构造事物以使转义键不会干扰,而不是如何阻止转义键工作。此外,请不要使用警报...出于技术原因,这从一开始就是非常糟糕的做法,而且还会超级恶化用户体验。
标签: javascript jquery