我正在筛选JavaScript的prompt()
和confirm()
替代品。我需要创建一些有三个或更多选项的confirm()和alert()。我想使用我已经使用的Lightbox类。但是,我找到的替换都没有直接返回操作的结果,如confirm()和prompt()可以:
success = confirm("Success yes / no?");
if (success == true)
......
可以写一个替换,以便它以相同的方式运行,即它打开一个对话框,等待用户输入并返回点击了哪些按钮?或者这是不可能的(这就是我现在所怀疑的)你必须通过将动作附加到“是/否/无论”按钮本身来解决它?
编辑:毕竟,我决定不接受Josh的回答。它是完全有用的,但它没有回答这个问题 - 有没有办法在Javascript中拥有真正的模态对话框?似乎没有。
答案 0 :(得分:3)
大多数具有UI组件的JavaScript框架都有某种提供回调的对话框。查看jQuery UI,例如:http://jqueryui.com/demos/dialog/
我在多个项目中使用它来完成您所描述的内容。
编辑:我希望建议一个解决方法。遗憾的是,JavaScript不包括覆盖默认的基于浏览器的Alert(),Confirm()或Prompt()对话框的方法和添加其他按钮或选项。
答案 1 :(得分:2)
IE和Firefox 3都有一个showModalDialog方法,允许您以模态方式显示整个网页。但是,对于真正的跨浏览器解决方案,您无法使用它。
许多流行的框架提供了一种机制,通过显示HTML元素并在显示元素时禁止访问网页的其余部分来实现。