Sur le site Web de la fondation zurb à http://foundation.zurb.com/docs/reveal.php ils ont énuméré quelques options, y compris
open: fonction de rappel qui déclenche "avant" l'ouverture du modal.
ouvert: fonction de rappel qui déclenche "après" l'ouverture du modal.
close: fonction de rappel qui déclenche "avant" que le modal se prépare à fermer.
closed: fonction de rappel qui se déclenche "après" la fermeture du modal.
Mais je n'ai aucune idée de comment les utiliser avec mon modal. J'ai essayé
$('#myModal').closed(function() {});
$('#myModal').trigger('reveal:closed')( {});
$('#myModal').reveal.closed(function() {});
$('#myModal').reveal().closed(function() {});
J'ai googlé mais je n'ai trouvé aucun résultat. Quelqu'un qui peut l'expliquer ou me donner un exemple ou fournir un lien connexe?
Je vous remercie! Ça marche!
J'ai encore une autre question étroitement liée à révéler ()
<a href="#" class="button" data-reveal-id="myModal2">Click Me For A Modal</a>);
J'ai essayé d'ajouter un attribut comme data-closeOnBackgroundClick="false"
Cela ne semble pas fonctionner. Quelle devrait être la syntaxe correcte? Cela fonctionnera-t-il également pour la fonction de rappel?
Appelez reveal
comme vous le feriez normalement, mais incluez le nom de l'option et la fonction correspondante en tant qu'objet:
//Reveal the modal and say "Good bye" when it closes
$("#myModal").reveal({ "closed": function () { alert("Good bye") } });
La réponse ci-dessus n'a pas fonctionné pour moi. Voici ce qui a fonctionné (Foundation 4 et jQuery):
$('#myModal').bind('opened', function() {
console.log("myModal opened");
});
Liaisons d'événement pour Zurb Foundation Reveal -
Il existe une série d'événements auxquels vous pouvez vous lier pour déclencher des rappels:
$(document).on('open.fndtn.reveal', '[data-reveal]', function () {
// your code goes here...
});
$(document).on('opened.fndtn.reveal', '[data-reveal]', function () {
// your code goes here...
});
$(document).on('close.fndtn.reveal', '[data-reveal]', function () {
// your code goes here...
});
$(document).on('closed.fndtn.reveal', '[data-reveal]', function () {
// your code goes here...
});
Si vous avez plusieurs révélations de données utilisées sur une seule page, comme suit:
<div class="content reveal-modal" id="element-1" data-reveal>
<div class="content reveal-modal" id="element-2" data-reveal>
Ensuite, dans ces situations, vous pouvez déclencher le rappel comme expliqué ci-dessus mais avec peu de modifications comme indiqué ci-dessous:
$(document).on('open.fndtn.reveal', '#element-1[data-reveal]', function () {
// your code goes here...
});
$(document).on('open.fndtn.reveal', '#element-2[data-reveal]', function () {
// your code goes here...
});
Sur Zurb Foundation v6, ces événements ont été renommés xxx.zf.reveal
:
- closeme.zf.reveal Se déclenche immédiatement avant l'ouverture du modal. Ferme tous les autres modaux actuellement ouverts
- open.zf.reveal Se déclenche lorsque le modal s'est ouvert avec succès.
- closed.zf.reveal Se déclenche lorsque la fermeture du modal est terminée.
Source: http://foundation.zurb.com/sites/docs/reveal.html#js-events
Rappel générique qui se déclenchera pour tous les modaux:
$(document).on('open.zf.reveal', '[data-reveal]', function() {
console.log('This works');
});
Rappel qui se déclenche lorsqu'un modal spécifique est ouvert:
$(document).on('open.zf.reveal', '#<ELEMENT-ID>[data-reveal]', function() {
console.log('This works');
});
Comme l'a dit meatrobot, pour que cela fonctionne, vous voulez vous lier au modal avec l'action que vous visez. Je l'ai fait fonctionner:
$('#myModal').bind('closed', function() {
console.log("myModal closed!");
});
C'est un peu tard mais pour la deuxième partie, vous ajoutez les attributs en tant que liste de valeurs séparées par des points-virgules dans l'attribut data-options (testé avec la fondation 5), à savoir:
<div id="myModal" data-options="close_on_background_click:false;" class="reveal-modal">
Et non, vous ne pouvez pas passer de fonctions de cette façon, j'ai essayé :)
La documentation de Foundation 5 spécifie la portée des événements de révélation dans l'espace d'événements "Révélation". Cependant, les événements modaux réels ne semblent pas se déclencher de manière cohérente dans cet espace d'événements. La suppression de cette spécification résout le problème:
$(document).on('opened.fndtn', '[data-reveal]', function() {
console.log('This works');
});
En regardant Foundation 5 et constaté que la bibliothèque de révélations déclenche des événements d'ouverture, d'ouverture, de fermeture et de fermeture. Attachez simplement un gestionnaire à l'événement souhaité.
$('#myModal').on([event], handler)
Vous pouvez également transmettre les gestionnaires via l'argument paramètres. Vérifiez ceci: https://github.com/zurb/foundation/blob/master/js/foundation/foundation.reveal.js#L92
Dans la fondation 3.2.5, vous devez lier "révéler: ouvert" comme ceci:
$('#myModal').bind('reveal:opened', function() {
console.log("myModal opened");
});
Cordialement, MarianoC.