J'utilise une boîte de dialogue d'interface utilisateur jQuery. S'il est ouvert, je veux faire une chose. S'il est fermé, je veux en faire un autre.
Ma question est la suivante: comment détecter si une boîte de dialogue jQuery UI est ouverte ou non?
jquery
jquery-ui
jquery-ui-dialog
user208662
la source
la source
$("#mydialog").hasClass("ui-dialog-content")
. Voir stackoverflow.com/questions/29528706/…En fait, vous devez le comparer explicitement à vrai. Si la boîte de dialogue n'existe pas encore, elle ne retournera pas false (comme vous vous en doutez), elle renverra un objet DOM.
la source
Si vous voulez vérifier si la boîte de dialogue est ouverte sur un élément particulier, vous pouvez le faire:
Ou si vous voulez simplement vérifier si l'élément lui-même est visible, vous pouvez faire:
Ou...
la source
$dialog.hasClass('ui-dialog-content')
La boîte de dialogue jQuery a une
isOpen
propriété qui peut être utilisée pour vérifier si une boîte de dialogue jQuery est ouverte ou non.Vous pouvez voir un exemple sur ce lien: http://www.codegateway.com/2012/02/detect-if-jquery-dialog-box-is-open.html
la source
Le commentaire de Nick Craver est le plus simple pour éviter l'erreur qui se produit si le dialogue n'a pas encore été défini:
Vous devez d'abord définir la visibilité dans votre CSS, en utilisant simplement:
la source