This question already has an answer here:
-
Detect if a jQuery UI dialog box is open
5 answers
Looking for a general case solution to determine if any jquery dialog (there are multiple) is currently open. Have tried:
$(".ui-dialog-content").dialog("isOpen") === true
$(".ui-dialog").dialog("isOpen") == true
$(document).dialog("isOpen") == true
$("*").dialog('isOpen') == true
without any success. I expected ".ui-dialog-content" to work, since I can apparently close any open dialog with that selector, but it does not.
you can try
if($(".ui-dialog").is(":visible")){
//dialog is open
}
jQuery UI dailog has a method isOpen
which returns true if the dailog is open. Call it on the element which has opened the dialog box.
$('.ui-dialog-content').dialog("isOpen");
Refrence: http://jqueryui.com/demos/dialog/#method-isOpen
According to the API documentation, you should use
$( ".selector" ).dialog( "isOpen" )
to determine whether the dialog is open or not. The function returns a boolean.
For example,
if( $("selector").dialog("isOpen")===true ){
/*do stuff when dialog is open*/
} else {
/*do stuff when dialog is closed*/
};
Check if it's being displayed or not via CSS? Not sure if it's the right approach, but I suspect it'll work.
$(".ui-dialog").css('display') != "none"
$('html').click(function() {
x++;
if(x==2){
$(".ui-dialog-titlebar-close").trigger("click");
x=0;
}
});
This one will work in all cases, where you call Dialog from DOM.