J’utilise pour un de mes projets le plugin jQuery jConfirmAction sous licence GPL version 2. J’y est effectué quelques modifications et les redistribuent donc sous cette même licence.
Le script, téléchargeable ici: jconfirmaction.jquery. Les différences avec le script de Hidayat Sagita sont les suivantes:
Exécution de fonctions
A l’origine le click sur « Oui » n’avait pour effet que de faire suivre le lien d’origine. L’ajout des trois paramètres « onYes », « onOpen » et « onClose » auxquels on transmet des fonctions nous permet de faire un peu plus de choses.
- onYes est appelé lorsque le bouton « Oui » est cliqué.
- onOpen est appelé lorsque la boite de confirmation apparaît.
- onClose est appelé lorsque l’utilisateur
Ces fonctions reçoivent toujours comme argument le lien d’origine (sur lequel a été appliqué jConfirmAction).
question : "Supprimer ?",
yesAnswer : "Oui",
cancelAnswer : "non",
onYes: function(link){
// [...]
return false;
},
onOpen: function(link){
// [...]
return false;
},
onClose: function(link){
// [...]
return false;
}
});
justOneAtTime
Le paramètre justOneAtTime (par défaut sur vrai) permet de détruire les autre boites de confirmations lorsqu’une s’ouvre. Cela permet donc simplement de d’en n’avoir qu’une a la fois.
Utilisation de ‘live’
J’ai préféré remplacer l’utilisation de bind par live. Décision prise par rapport a ce dont je parlais dans cet article.
Les modification apportés sont essentiellement pour rendre l’utilisation de ce plugin plus souple en particulier dans un contexte ou vous utilisez l’ajax.
Enjoy 😉