如何用javascript编写自己的确认对话框



我想用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取得了很好的效果,jqModel是jQuery框架的一个插件,可以让你定义模态对话框,但它决不是唯一的选项;试着在谷歌上搜索jquery模态或yui模态来寻找一些替代方案。

对于Mootools,有moo.rd的Custom.Confirm和Windoo.Confirm.供您参考。

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

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

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

相关内容

  • 没有找到相关文章

最新更新