jquery selector
¿Cómo saber si algún diálogo de jQuery está abierto? (5)
Compruebe si se está mostrando o no a través de CSS? No estoy seguro de si es el enfoque correcto, pero sospecho que funcionará.
$(".ui-dialog").css(''display'') != "none"
Esta pregunta ya tiene una respuesta aquí:
Buscando una solución de caso general para determinar si algún cuadro de diálogo de jQuery (hay varios) está actualmente abierto. He intentado:
$(".ui-dialog-content").dialog("isOpen") === true
$(".ui-dialog").dialog("isOpen") == true
$(document).dialog("isOpen") == true
$("*").dialog(''isOpen'') == true
Sin ningún éxito. Esperaba que ".ui-dialog-content" funcionara, ya que aparentemente puedo cerrar cualquier diálogo abierto con ese selector, pero no lo hace.
De acuerdo con la documentación de la API, debe utilizar
$( ".selector" ).dialog( "isOpen" )
Para determinar si el diálogo está abierto o no. La función devuelve un booleano. Por ejemplo,
if( $("selector").dialog("isOpen")===true ){
/*do stuff when dialog is open*/
} else {
/*do stuff when dialog is closed*/
};
El dailog de jQuery UI tiene un método isOpen
que devuelve true si el dailog está abierto. Llámalo al elemento que ha abierto el cuadro de diálogo.
$(''.ui-dialog-content'').dialog("isOpen");
puedes probar
if($(".ui-dialog").is(":visible")){
//dialog is open
}
$(''html'').click(function() {
x++;
if(x==2){
$(".ui-dialog-titlebar-close").trigger("click");
x=0;
}
});
Éste funcionará en todos los casos, cuando llame a Dialog desde DOM.