Estou usando uma caixa de diálogo jQuery UI. Se estiver aberto, quero fazer uma coisa. Se estiver fechado, quero fazer outro.
Minha pergunta é: como faço para detectar se uma caixa de diálogo jQuery UI está aberta ou não?
jquery
jquery-ui
jquery-ui-dialog
user208662
fonte
fonte
$("#mydialog").hasClass("ui-dialog-content")
. Consulte stackoverflow.com/questions/29528706/…Na verdade, você deve compará-lo explicitamente com o verdadeiro. Se a caixa de diálogo ainda não existir, ela não retornará falso (como você esperaria), ela retornará um objeto DOM.
fonte
Se você deseja verificar se a caixa de diálogo está aberta em um elemento específico, você pode fazer o seguinte:
Ou se você apenas deseja verificar se o próprio elemento está visível, você pode fazer:
Ou...
fonte
$dialog.hasClass('ui-dialog-content')
O diálogo jQuery tem uma
isOpen
propriedade que pode ser usada para verificar se um diálogo jQuery está aberto ou não.Você pode ver um exemplo neste link: http://www.codegateway.com/2012/02/detect-if-jquery-dialog-box-is-open.html
fonte
O comentário de Nick Craver é o mais simples para evitar o erro que ocorre se a caixa de diálogo ainda não foi definida:
Você deve definir a visibilidade em seu CSS primeiro, usando simplesmente:
fonte