Puedo comprobar si Modal de Bootstrap en la actualidad Muestra /Oculta a través de programación?

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

Necesito verdadero/falso

InformationsquelleAutor user2736812 | 2013-10-30

9 Comentarios

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

    Devolverá true si modal está abierto

    • if($(‘#myModal’).hasClass(‘en’)){/*hacer algo*/} mejor uso. gracias
    • para mí $('#myModal').hasClass('show') obras, Bootstrap V4
    • este puede comprobar cualquiera abierta modal/s if($('.modal.in').length) Bootstrap V2, 3, 4 …*
  2. 20

    su una vieja pregunta, pero de todos modos aquí hay algo que he utilizado en caso de que alguien estaba buscando la misma cosa

    if (!$('#myModal').is(':visible')) {
        //if modal is not shown/visible then do something
    }
    • Esto sólo se lee muy bien. También no depende de la clase específica de los selectores que podría resultar frágil.
    • Sin embargo, creo que podría volver un falso positivo si se ejecuta durante el mostrar/ocultar la animación.
    • tal vez pero a pesar de que la función espera hasta que la animación está terminado para comprobar si su visibles u ocultas, ya que este funciona de la misma como el uso normal de la css.
  3. 4

    Cuando modal que ocultar? comprobamos como este :

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

    Uso hasClass('in'). Devolverá true si modal es en OPEN estado.

    E. g:

    if($('.modal').hasClass('in')){
       //Do something here
    }
  5. 3

    De manera oficial:

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

    {} se utiliza para evitar el caso de que los modales no está abierto aún (volver undefined). También puede asignar igual {isShown: false} mantener su más sentido.

    • esto es lo que yo buscaba, ya devuelve true mientras que el modal es la apertura, pero antes de que el shown clase se aplica
  6. 1
    if($('.modal').hasClass('in')) {
        alert($('.modal .in').attr('id')); //ID of the opened modal
    } else {
        alert("No pop-up opened");
    }
  7. 1

    Para mí esto funciona

     
    si($("#myModal").css("pantalla") !='ninguno' && $("#myModal").css("visibilidad") != 'oculto')

    alert("modal shown");

Dejar respuesta

Please enter your comment!
Please enter your name here