Javascript 确认弹出是,否按钮而不是确定和取消

IT技术 javascript html button popup confirm
2021-01-12 03:00:34

Javascript 确认弹出窗口,我想显示是,否按钮而不是确定和取消。

我使用了这个 vbscript 代码:

<script language="javascript">
    function window.confirm(str) {
        execScript('n = msgbox("' + str + '","4132")', "vbscript");
        return (n == 6);
    }
</script>

这仅适用于 IE,在 FF 和 Chrome 中,它不起作用。

是否有任何解决方法可以在 Javascript 中实现这一点?

我还想更改弹出窗口的标题,就像在 IE 中显示“Windows Internet Explorer”一样,我想在这里显示我自己的应用程序名称。

6个回答

不幸的是,没有跨浏览器支持打开一个不是默认的 OK/Cancel 对的确认对话框。您提供的解决方案使用了仅在 IE 中可用的 VBScript。

我建议使用可以构建基于 DOM 的对话框的 Javascript 库。尝试 Jquery UI:http : //jqueryui.com/

以跨浏览器的方式完成此操作的唯一方法是使用像 jQuery UI 这样的框架并创建自定义对话框:

jQuery 对话框

它的工作方式与内置的确认弹出窗口完全不同,但您应该能够让它做您想做的事。

为清楚起见,这不是唯一的方法——当然,您可以用 Javascript 编写自己的方法,但这并不是正确的做法。
2021-03-28 03:00:34
@LeonardChallis 但包含一个仅用于模态 div 功能的大型库更好吗?我不这么认为
2021-04-08 03:00:34

您还可以使用http://projectshadowlight.org/jquery-easy-confirm-dialog/它非常简单且易于使用。只包含 jquery 公共库和一个文件:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/blitzer/jquery-ui.css" type="text/css" />
<script src="jquery.easy-confirm-dialog.js"></script>

您不能使用 confirm() 函数或类似函数执行此跨浏览器操作。我强烈建议您使用类似jQuery UI 对话框功能的东西来创建 HTML 对话框。

看看http://bootboxjs.com/

非常容易使用:

 bootbox.confirm("Are you sure?", function(result) {
  Example.show("Confirm result: "+result);
});