3

我想在javascript中写一些类似于confirm()的东西,但我想自己写,这样我就可以给对话框设置皮肤了。在思考我如何基本上强制javascript线程等到用户响应然后返回true或false时遇到了麻烦。

4

5 回答 5

5

如果我是你,我会看一个流行的 javascript 库。大多数都包含某种模式对话框。

我为 JQuery 找到的一对是jqModalSimpleModal

当您构建模态对话框时,您必须将事件绑定到按钮,因此您可以执行以下操作:

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...
}
于 2008-10-09T19:03:34.350 回答
3

您真的想为此使用一个框架,因为您在尝试自己构建它时会遇到许多奇怪的跨浏览器问题。

我使用jqModal取得了不错的效果,这是一个用于 jQuery 框架的插件,可让您定义模式对话框,但这绝不是唯一的选择;尝试谷歌搜索jquery modalyui modal以获得一些替代方案。

于 2008-10-09T19:10:08.970 回答
1

对于 Mootools,有moo.rd 的 Custom.ConfirmWindoo.Confirm供大家参考。

于 2008-10-10T01:06:24.603 回答
0

你可以使用窗口。showModalDialog ( mozilla ),但它是 Internet Explorer 引入的非标准功能。现在 Firefox 3 和 Safari 也支持它(我不确定哪个版本,但至少 3.1 和更高版本,但不是 iPhone)。

于 2008-10-09T19:51:45.003 回答
0

一个简单的 YUI 模态灯箱(示例):

http://bravo9.com/journal/a-simple-lightbox-modal-dialog-with-yui-c5b048f5-b278-46d1-9a7e-0d3035094f52/

于 2008-10-10T00:37:19.763 回答