Sweetalert: Evitar la alerta dulce de cierre automático

Creado en 10 may. 2015  ·  7Comentarios  ·  Fuente: t4t5/sweetalert

Tratando de hacer cosas simples. No quiero cerrar la ventana emergente hasta que el usuario haga clic en el botón confirmar (desactivé esta opción pero la ventana emergente aún se cierra). Aquí está mi código:

sweetAlert({
    title: "Hello",
    text: "<button type='button' class='btn btn-fb fb-share'>Share on Facebook</button>",
    type: null,
    confirmButtonText: "Close",
    html: true,
    closeOnConfirm: false, //It does close the popup when I click on close button
    closeOnCancel: false,
    allowOutsideClick: false
});

$(document).on( "click",".fb-share",  function(e){
    //here sweet alert closes when I press this button. 
    openFbPopup(); 
});

¿Cómo evito cerrar la alerta dulce?

Comentario más útil

Sé que es tarde, pero podría ayudar a alguien en el futuro

@ moazam1 La opción se ha cambiado a

swal({
  closeOnClickOutside: false,
});

https://sweetalert.js.org/docs/#closeonclickoutside

Todos 7 comentarios

También parece que tengo problemas con esto. Incluso cuando establezco allowOutsideClick en falso, aún se puede descartar.

@ moazam1 Para su caso específico, necesita hacer una devolución de llamada como parámetro adicional después del objeto de opciones:

sweetAlert({
    title: "Hello",
    text: "<button type='button' class='btn btn-fb fb-share'>Share on Facebook</button>",
    type: null,
    confirmButtonText: "Close",
    html: true,
    closeOnConfirm: false, //It does close the popup when I click on close button
    closeOnCancel: false,
    allowOutsideClick: false
}, function () {});

$(document).on( "click",".fb-share",  function(e){
    //here sweet alert closes when I press this button. 
    openFbPopup(); 
});

No necesita hacer nada, pero usar una función como:

function (isConfirm) {
   // ... Rest of code
}

Le permite responder manualmente y hacer otra cosa.

Tiene sentido, como si no tuviera un controlador, ¿cómo va a cerrar la alerta de otra manera?

Si está utilizando una etiqueta de anclaje, simplemente elimine href = "", ya que lo redirige a la misma página. por eso la alerta se cerró sola

Sé que es tarde, pero podría ayudar a alguien en el futuro

@ moazam1 La opción se ha cambiado a

swal({
  closeOnClickOutside: false,
});

https://sweetalert.js.org/docs/#closeonclickoutside

Esto no funcionó.

@ moazam1 gracias, funcionó para mí

@ moazam1
$ (documento) .on ("clic", ". fb-share", función (e) {
aquí tienes que agregar e.preventDefault ();
openFbPopup ();

funcionó para mí.
});

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

sastrahost picture sastrahost  ·  5Comentarios

fracz picture fracz  ·  4Comentarios

jamieson99 picture jamieson99  ·  3Comentarios

mateuszjarzewski picture mateuszjarzewski  ·  4Comentarios

Untit1ed picture Untit1ed  ·  5Comentarios