Sweetalert: Empêcher l'alerte douce de fermeture automatique

Créé le 10 mai 2015  ·  7Commentaires  ·  Source: t4t5/sweetalert

Essayer de faire des choses simples. Je ne veux pas fermer la fenêtre contextuelle tant que l'utilisateur n'a pas cliqué sur le bouton de confirmation (j'ai désactivé cette option mais la fenêtre contextuelle se ferme toujours). Voici mon code :

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(); 
});

Comment puis-je empêcher la fermeture d'une alerte sucrée ?

Commentaire le plus utile

Je sais qu'il est tard, mais cela pourrait aider quelqu'un à l'avenir

@moazam1 L'option a été changée en

swal({
  closeOnClickOutside: false,
});

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

Tous les 7 commentaires

J'ai aussi l'impression d'avoir des problèmes avec ça. Même lorsque je définis allowOutsideClick sur false, il est toujours révocable.

@moazam1 Pour votre cas spécifique, vous devez effectuer un rappel en tant que paramètre supplémentaire après l'objet options :

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(); 
});

Il n'a pas besoin de faire quoi que ce soit, mais d'utiliser une fonction comme :

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

Vous permet de répondre manuellement et de faire autre chose.

C'est logique, comme si vous n'aviez pas de gestionnaire, comment allez-vous fermer l'alerte autrement.

Si vous utilisez une balise d'ancrage, supprimez simplement le href="", car il vous redirige vers la même page. c'est pourquoi l'alerte s'est fermée

Je sais qu'il est tard, mais cela pourrait aider quelqu'un à l'avenir

@moazam1 L'option a été changée en

swal({
  closeOnClickOutside: false,
});

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

Cela n'a pas fonctionné.

@ moazam1 merci cela a fonctionné pour moi

@moazam1
$(document).on( "click",".fb-share", function(e){
ici, vous devez ajouter e.preventDefault();
openFbPopup();

ça a marché pour moi.
});

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

daftspunk picture daftspunk  ·  4Commentaires

jamieson99 picture jamieson99  ·  3Commentaires

rapeflower picture rapeflower  ·  4Commentaires

girishbr picture girishbr  ·  5Commentaires

Lusitaniae picture Lusitaniae  ·  4Commentaires