jquery jquery-ui jquery-selectors jquery-ui-dialog

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");

Refrence: http://jqueryui.com/demos/dialog/#method-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.