是否可以在标准 JavaScript prompt/confirm 弹出窗口中删除键盘访问权限?

Is it possible to remove keyboard access in a standard JavaScript prompt/confirm pop-up?

是否可以在标准 JavaScript 提示或确认弹出框中停止键盘访问?例如,如果我有以下内容:

var name = prompt("Enter your name:");

默认有"OK"和"Cancel"两个按钮,可以keyboard/tab访问。有没有办法删除键盘控件?我只是在寻找一个简单的解决方案(例如,可能是现有的 jQuery/JavaScript 函数等?)。

此功能由浏览器原生提供——当显示真正的系统模式(例如使用 prompt() 或 alert())时,您无法访问事件。

正如 RooVM 上面的评论所说,一个可能的解决方案是使用 JS 和 HTML 实现您自己的页面模态。这样,由于它是页面的一部分,您可以随心所欲地劫持事件。

有关示例,或者可能是易于实施的组件,请查看 Bootstrap's modals

制作自定义模态框。通过这样做,您不必取消绑定这些事件,因为它们一开始就不会被绑定。