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 ?
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,
});
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.
});
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
https://sweetalert.js.org/docs/#closeonclickoutside