Estoy usando la biblioteca de Bootstrap de Twitter en un nuevo proyecto y quiero que parte de la página se actualice y recupere los últimos datos json en el cierre modal. No veo esto en ninguna parte de la documentación, ¿alguien puede señalarme o sugerir una solución?
Dos problemas con el uso de los métodos documentados.
$('#my-modal').bind('hide', function () {
// do something ...
});
Adjunto una clase "hide" al modal ya para que no se muestre en la carga de la página, por lo que se cargaría dos veces
incluso si elimino la clase hide y configuro la identificación del elemento display:none
y la agrego console.log("THE MODAL CLOSED");
a la función anterior cuando presiono cerrar, no sucede nada.
fuente
data-dismiss="modal"
(como un botón de cierre), pero no funciona cuando hago clic en el área de fondo negro que rodea el modal. El modal se descarta pero no se puede volver a abrir hasta que se actualice la página. He intentado ambos'hidden.bs.modal'
y fue'hide.bs.modal'
en vano.$('#myModal').modal({ backdrop: 'static', keyboard: false });
esa manera, el modal no se cerrará cuando hagas clic en el área gris, ni cuando presiones la tecla Esc.Bootstrap 4
Vea este JSFiddle para un ejemplo de trabajo:
https://jsfiddle.net/6n7bg2c9/
Vea la sección de eventos modales de los documentos aquí:
https://getbootstrap.com/docs/4.3/components/modal/#events
fuente
Al iniciar Bootstrap 3 ( editar: sigue siendo el mismo en Bootstrap 4 ) hay 2 instancias en las que puede iniciar eventos, siendo:
1. Cuando comienza el evento modal "hide"
2. Cuando finaliza el evento modal "ocultar"
Ref: http://getbootstrap.com/javascript/#js-events
fuente
En lugar de "en vivo" debe usar el evento "on", pero asignarlo al objeto del documento:
Utilizar:
fuente
fuente
Bootstrap proporciona eventos que puede enganchar en modal , como si deseaactivarun evento cuando el modal ha terminado de ocultarse para el usuario, puede usar elevento hidden.bs.modal como este
Verifique un violín de trabajo aquí. Lea más sobre métodos modales y eventos aquí en Documentación.
fuente
Bootstrap 4:
hide.bs.modal : este evento se activa inmediatamente cuando se llama al método de instancia de hide.
hidden.bs.modal : este evento se activa cuando el modal ha terminado de ocultarse al usuario (esperará a que se completen las transiciones CSS).
fuente
Lo haría así:
El resto ya ha sido escrito por otros. También recomiendo leer la documentación: jquery - en el método
fuente
He visto muchas respuestas con respecto a los eventos bootstrap, como
hide.bs.modal
qué se dispara cuando se cierra el modal.Hay un problema con esos eventos: cualquier ventana emergente en el modal (popovers, información sobre herramientas, etc.) activará ese evento.
Hay otra forma de atrapar el evento cuando se cierra un modal.
Bootstrap usa la
in
clase cuando el modal está abierto. Es muy importante usar elhidden
evento ya que la clasein
todavía está definida cuandohide
se desencadena el evento .Esta solución no funcionará en IE8 ya que IE8 no es compatible con el
:not()
selector Jquery .fuente
Estaba teniendo los mismos problemas que algunos con
Debe colocar esto en la parte inferior de la página, y colocarlo en la parte superior nunca activa el evento.
fuente
$("#myModal")
se invoca el selector jQuery, el elemento HTML con un ID demyModal
necesidades debe existir en el DOM. Por lo tanto, podría tener este código en la parte superior de la página pero ubicado dentro de una$(document).on("ready", function(){ ... });
(o función similar que se llama después de que el DOM se llena con el elemento).si desea activar una función en cada cierre modal, puede usar este método,
Por lo tanto, no necesita especificar identificadores modales cada vez.
fuente