J'utilise une boîte de dialogue jQuery UI. Si elle est ouverte, je veux faire une chose. S'il est fermé, je veux en faire une autre.
Ma question est la suivante : comment puis-je détecter si une boîte de dialogue jQuery UI est ouverte ou non ?
J'utilise une boîte de dialogue jQuery UI. Si elle est ouverte, je veux faire une chose. S'il est fermé, je veux en faire une autre.
Ma question est la suivante : comment puis-je détecter si une boîte de dialogue jQuery UI est ouverte ou non ?
Si vous lisez le docs.
$('#mydialog').dialog('isOpen')
Cette méthode renvoie un booléen (vrai ou faux), et non un objet jQuery.
Comment faire ce test pour toutes les boîtes de dialogue ? Disons que vous avez dix boîtes de dialogue différentes avec des entrées et des options distinctes et que vous voulez tester si TOUTES les boîtes sont ouvertes, et non un sélecteur spécifique ?
Ajoutez une classe auxdites boîtes de dialogue, puis modifiez le sélecteur de votre contrôle isOpen.
Comment faire ce test pour toutes les boîtes de dialogue ? Disons que vous avez dix boîtes de dialogue différentes avec des entrées et des options distinctes et que vous voulez tester si TOUTES les boîtes sont ouvertes, et non un sélecteur spécifique ?
Si vous voulez vérifier si la boîte de dialogue est ouverte sur un élément particulier, vous pouvez le faire :
if ($('#elem').closest('.ui-dialog').is(':visible')) {
// do something
}
Ou si vous voulez simplement vérifier si l'élément lui-même est visible, vous pouvez le faire :
if ($('#elem').is(':visible')) {
// do something
}
Ou...
if ($('#elem:visible').length) {
// do something
}
La boîte de dialogue jQuery possède un isOpen
qui peut être utilisée pour vérifier si une boîte de dialogue jQuery est ouverte ou non.
Vous pouvez voir un exemple à ce lien : http://www.codegateway.com/2012/02/detect-if-jquery-dialog-box-is-open.html
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.