modal example ejemplos close jquery jquery-ui jquery-ui-dialog

example - jquery ui download



Detectar si un cuadro de diálogo de la interfaz de usuario jQuery está abierto (5)

El comentario de Nick Craver es el más simple para evitar el error que ocurre si el diálogo aún no se ha definido:

if ($(''#elem'').is('':visible'')) { // do something }

Sin embargo, primero debes establecer la visibilidad en tu CSS, usando simplemente:

#elem { display: none; }

Estoy usando un diálogo de jQuery UI. Si está abierto, quiero hacer una cosa. Si está cerrado, quiero hacer otro.

Mi pregunta es, ¿cómo puedo detectar si un cuadro de diálogo de jQuery UI está abierto o no?



En realidad, tienes que compararlo explícitamente con verdadero. Si el diálogo aún no existe, no devolverá falso (como era de esperar), devolverá un objeto DOM.

if ($(''#mydialog'').dialog(''isOpen'') === true) { // true } else { // false }


Si desea verificar si el diálogo está abierto en un elemento en particular, puede hacer esto:

if ($(''#elem'').closest(''.ui-dialog'').is('':visible'')) { // do something }

O si solo quieres comprobar si el elemento en sí mismo está visible, puedes hacer lo siguiente:

if ($(''#elem'').is('':visible'')) { // do something }

O...

if ($(''#elem:visible'').length) { // do something }


Si lees los docs.

$(''#mydialog'').dialog(''isOpen'')

Este método devuelve un booleano (verdadero o falso), no un objeto jQuery.