【发布时间】:2012-12-21 17:52:19
【问题描述】:
我几乎是 JavaScript 和 jQuery 的菜鸟,但我无法让基本的对话框正常工作。这是我的代码:
<script type="text/javascript">
$(document).ready(function() {
var dialog = $("#dialog");
dialog.dialog({
title: "Dialog",
modal: true,
draggable: false,
resizable: false,
autoOpen: false,
width: 500,
height: 400
});
dialog.hide();
});
function showDialog() {
$("#dialog").dialog("open");
}
$("ui-widget-overlay").click(function() {
$(".ui-dialog-titlebar-close").trigger("click");
});
</script>
<div id="dialog">
Dialog text.
</div>
<button onclick="showDialog()">Show Dialog</button>
当我点击按钮时,对话框的标题栏出现,页面背景变暗,但是有两个问题:
- 对话框主体不显示(只显示标题栏)
- 当我在对话框外单击时,对话框不会关闭。我必须点击角落的“x”才能关闭对话框。
我在这里阅读了大量相关问题,但我尝试的任何方法似乎都不起作用。有什么建议吗?
【问题讨论】:
-
@FritsvanCampen - 你的意思是
dialog.dialog()没有被调用?我认为是,因为宽度设置会影响标题栏的宽度。 -
@Nate-虽然我很高兴被授予答案,并且我相信我确实正确回答了您的原始问题(
hide()问题),但下面有更好的答案可能更值得。
标签: javascript jquery jquery-ui jquery-ui-dialog