javascript - form - modal bootstrap 4




Puis-je vérifier si Bootstrap Modal montré/caché? (6)

Puis-je vérifier si Bootstrap Modal est actuellement affiché / caché par programme?

Comme bool a = if("#myModal").shown(); ?

J'ai besoin de vrai / faux


C'est une vieille question mais de toute façon heres quelque chose que j'ai utilisé au cas où quelqu'un chercherait la même chose

if (!$('#myModal').is(':visible')) {
    // if modal is not shown/visible then do something
}

De manière officielle:

> ($("element").data('bs.modal') || {})._isShown    // Bootstrap 4
> ($("element").data('bs.modal') || {}).isShown     // Bootstrap <= 3

{} est utilisé pour éviter le cas où modal n'est pas encore ouvert (il renvoie undefined ). Vous pouvez également l'affecter égal {isShown: false} pour garder son sens.


Lorsque cacher modal? nous vérifions comme ceci:

$('.yourmodal').on('hidden.bs.modal', function () {
    // do something here
})

Pour moi cela fonctionne

if($("#myModal").css("display")=='block') alert("modal shown");


alert($('#myModal').hasClass('in'));

Il retournera vrai si modal est ouvert


if($('.modal').hasClass('in')) {
    alert($('.modal .in').attr('id')); //ID of the opened modal
} else {
    alert("No pop-up opened");
}




bootstrap-modal