我注意到我可以从不同的按钮/链接打开多个标签。 :)
我想要做的是只有在没有打开其他对话框时才能打开对话框。
我可以使用if语句并检查每个附有对话框的id,但我的页面中有很多。
我需要一些表达王if (a dialog id open) {do not open $(this) dialog}
或open $(this)dialog only if no other dialog is open
。
答案 0 :(得分:4)
您可以在对话框中使用isOpen
方法检查它是否已打开。例如:
if(!$(".selector").dialog("isOpen")) {
// the dialog .selector is closed, you can open another one
}
<强>更新强>
如果要在打开之前关闭任何其他打开的对话框,可以通过一个函数来路由所有对话框打开操作,该函数会在打开另一个之前记住要关闭的内容。
在此示例中,调用openDialog
将关闭任何其他打开的对话框,然后再打开您指定的对话框,并且调用closeDialog
将关闭当前活动的对话框。
function closeDialog() {
}
function openDialog(selector) {
closeDialog();
$(selector).dialog("open");
closeDialog = function() {
$(selector).dialog("close");
};
}
示例使用window
和closeDialog
函数“污染”openDialog
对象,但如果需要,可以对其进行适当的重构。
答案 1 :(得分:0)
如何简单地
if(!$('.ui-dialog').is(":visible")) {
//some stuff in here
}
似乎很容易做到这一点?
只是说......:)
答案 2 :(得分:0)
试试这个:
if(!$(“#dialog-Save”)。data(“dialog”)._ isOpen){
...
}