Estoy creando una ventana modal usando Twitter Bootstrap. El comportamiento predeterminado es que si hace clic fuera del área modal, el modal se cerrará automáticamente. Me gustaría deshabilitar eso, es decir, no cerrar la ventana modal al hacer clic fuera del modal.
¿Alguien puede compartir el código jQuery para hacer esto?
jquery
twitter-bootstrap
modal-dialog
mouseclick-event
usuario1296175
fuente
fuente
Respuestas:
Creo que desea establecer el valor de fondo en estático . Si desea evitar que la ventana se cierre al usar la Esctecla, debe establecer otro valor.
Ejemplo:
O si está utilizando JavaScript:
fuente
Simplemente configure la
backdrop
propiedad en'static'
.También es posible que desee establecer la
keyboard
propiedad enfalse
porque eso evita que se cierre el modal presionando la Esctecla en el teclado.myModal
es la ID del div que contiene su contenido modal.fuente
backdrop
ykeyboard
se mencionan aquí en su documentación en la sección Opciones .También puede incluir estos atributos en la definición modal en sí:
fuente
Si ya ha inicializado la ventana modal, es posible que desee restablecer las opciones
$('#myModal').removeData("modal").modal({backdrop: 'static', keyboard: false})
para asegurarse de que aplicará las nuevas opciones.fuente
Anule el evento Bootstrap 'hide' de Diálogo y detenga su comportamiento predeterminado (para eliminar el diálogo).
Consulte el fragmento de código a continuación:
Funciona bien en nuestro caso.
fuente
Sí, puedes hacerlo así:
fuente
Como la respuesta de @ AymKdn, pero esto le permitirá cambiar las opciones sin reiniciar el modal.
O si necesita hacer varias opciones, ¡JavaScript es
with
útil aquí!Si el modal ya está abierto, estas opciones solo tendrán efecto la próxima vez que se abra el modal.
fuente
Solo agrega estas dos cosas
Se verá así ahora
Desactivará el botón de escape y también el clic en cualquier lugar y se ocultará.
fuente
Puede deshabilitar el comportamiento de hacer clic para cerrar el fondo y hacer que este sea el predeterminado para todos sus modales agregando este JavaScript a su página (asegúrese de que se ejecute después de cargar jQuery y Bootstrap JS):
fuente
Como dice D3VELOPER, el siguiente código lo resuelve:
Estoy usando jquery y bootstrap y simplemente
removeData('modal')
no funcionan.fuente
Lo mejor que encontré es agregar este código al enlace
fuente
En caso de que alguien venga de Google tratando de descubrir cómo evitar que alguien cierre un modal, no olvide que también hay un botón de cierre en la parte superior derecha del modal que debe eliminarse.
Usé un poco de CSS para ocultarlo:
Tenga en cuenta que usando "display: none;" se sobrescribe cuando se crea el modal, así que no lo uses.
fuente
Si desea deshabilitar condicionalmente la
backdrop click closing
función. Puede usar la siguiente línea para establecer labackdrop
opciónstatic
durante el tiempo de ejecución.Bootstrap v3.xx
Bootstrap v2.xx
Esto evitará que se cierre un modelo ya instanciado con la
backdrop
opción establecida enfalse
( el comportamiento predeterminado ).fuente
Puede establecer el comportamiento predeterminado de la ventana emergente modal utilizando la siguiente línea de código:
fuente
Hacer eso es muy fácil hoy en día. Solo agrega:
En tu divisor modal.
fuente
Bueno, esta es otra solución que algunos de ustedes podrían estar buscando (como yo ...)
Mi problema era similar, el cuadro modal se estaba cerrando mientras el iframe que tenía dentro se estaba cargando, por lo que tuve que deshabilitar el descarte modal hasta que el Iframe termine de cargarse y luego volver a habilitarlo.
Las soluciones presentadas aquí no funcionaban al 100%.
Mi solución fue esta:
Entonces evito temporalmente que el Modal se cierre con:
Pero con var is_loading que volverá a habilitar el cierre después de que se cargue el Iframe.
fuente
fuente
Para actualizar el estado del telón de fondo en Bootstrap 4.1.3 después de que se haya visualizado el modal, utilizamos la siguiente línea del complemento Bootstrap-Modal-Wrapper . Referencia del código del repositorio de complementos .
fuente