【发布时间】:2010-09-16 08:45:32
【问题描述】:
我想写一些类似于javascript中的confirm()的东西,但我想自己写,这样我就可以给对话框设置皮肤了。在思考我将如何基本上强制 javascript 线程等到用户响应然后返回 true 或 false 时遇到问题。
【问题讨论】:
我想写一些类似于javascript中的confirm()的东西,但我想自己写,这样我就可以给对话框设置皮肤了。在思考我将如何基本上强制 javascript 线程等到用户响应然后返回 true 或 false 时遇到问题。
【问题讨论】:
如果我是你,我会看看流行的 javascript 库之一。大多数都包含某种模式对话框。
我为 JQuery 找到的一对是 jqModal 和 SimpleModal。
当您构建模态对话框时,您必须将事件绑定到按钮,因此您可以执行以下操作:
function askUserYesOrNo() {
var myDialog = $('<div class="mydialog"><p>Yes or No?</p><input type="button" id="yes" value="Yes"/><input type="button" id="no" value="No"/></div>');
$("#yes").click(handleYes);
$("#no").click(handleNo);
myDialog.modal(); //This would have to be replaced by whatever syntax the modal framework uses
}
function handleYes() {
//handle yes...
}
function handleNo() {
//handle no...
}
【讨论】:
您确实想为此使用一个框架,因为您在尝试自己构建它时会遇到许多奇怪的跨浏览器问题。
我使用jqModal 取得了不错的效果,这是一个用于 jQuery 框架的插件,可让您定义模态对话框,但这绝不是唯一的选择;尝试谷歌搜索 jquery modal 或 yui modal 寻找一些替代方案。
【讨论】:
对于Mootools,有moo.rd's Custom.Confirm和Windoo.Confirm供大家参考。
【讨论】:
您可以使用 window.showModalDialog (mozilla),但它是 Internet Explorer 引入的非标准功能。现在 Firefox 3 和 Safari 也支持它(我不确定哪个版本,但至少 3.1 和更高版本,但不是 iPhone)。
【讨论】: