如果打开,我想在特定条件下关闭页面上显示的jQuery对话框。
我使用以下选择器来确定当前是否正在显示jQuery对话框:($(".ui-dialog").is(":visible"))
。我以为我可以使用这个相同的选择器来实际获取对象容器对象的引用并在其上调用.dialog('close')
,但事实并非如此。似乎选择器返回对对话内容的包含元素的引用,而不是div对话框容器。如何获取对话框容器的id
并在其上调用close?
我最终这样做了:
if ($(".ui-dialog").is(":visible")) {
$(".ui-dialog").children('.ui-dialog-content').dialog('close');
}
答案 0 :(得分:1)
试试$( ".ui-dialog-content" ).dialog( "close" );
。看起来这是对话框所附加的元素。
答案 1 :(得分:1)
如果对话框附加到.ui-dialog-content,则可以执行此类操作作为测试。然后,研究可以扩展的东西。
<button id="close">close the dialog</button>
<script type="text/javascript">
$("#close").click(function() {
$(".ui-dialog-content").dialog("close");
});
</script>
答案 2 :(得分:0)
由于它是开放的,因此您无需进行测试。当用户按下某个按钮或单击模态对话框时,您可以关闭它。
$('.ui-dialog').fadeOut();