使用 window.confirm()

window.confirm() 方法显示带有可选消息的模态对话框和两个按钮,OK 和 Cancel。

现在,我们来看以下示例:

result = window.confirm(message);

这里, message 是要在对话框中显示的可选字符串, result 是一个布尔值,表示是选择了 OK 还是 Cancel(true 表示 OK)。

window.confirm() 通常用于在执行危险操作之前请求用户确认,例如在控制面板中删除某些内容:

if(window.confirm("Are you sure you want to delete this?")) {
    deleteItem(itemId);
}

该代码的输出在浏览器中如下所示:

StackOverflow 文档

如果你需要它以供以后使用,你只需将用户交互的结果存储在变量中:

var deleteConfirm = window.confirm("Are you sure you want to delete this?");

笔记

  • 该参数是可选的,并且不是规范要求的。
  • 对话框是模态窗口 - 它们阻止用户访问程序界面的其余部分,直到对话框关闭。因此,你不应过度使用任何创建对话框(或模态窗口)的函数。无论如何,有充分的理由避免使用对话框进行确认。
  • 从 Chrome 46.0 开始,此方法在 <iframe> 中被阻止,除非其 sandbox 属性具有值 allow-modal。
  • 通常接受通过删除窗口符号来调用 confirm 方法,因为窗口对象始终是隐式的。但是,建议明确定义窗口对象,因为预期的行为可能会因较低范围级别的实现而使用类似命名的方法进行更改。