Comment utiliser Zurb Foundation reveal avec des fonctions de rappel ouvertes, ouvertes, fermées et fermées?

sur le site Web de la fondation zurb à http://foundation.zurb.com/docs/reveal.php they listed some Options including

open: fonction de rappel qui déclenche 'avant' l'ouverture du modal.

open: fonction de rappel qui déclenche 'after' Le modal est ouvert.

fermer: fonction de rappel qui déclenche 'avant' le modal se prépare à fermer.

fermé: fonction de rappel qui déclenche 'après' le modal est fermé.

mais je ne sais pas comment les utiliser avec mon modal. Itried

$('#myModal').closed(function() {});

$('#myModal').trigger('reveal:closed')( {});

$('#myModal').reveal.closed(function() {});

$('#myModal').reveal().closed(function() {});

j'ai cherché sur google mais pas trouvé de frappe. N'importe qui peut l'expliquer ou me donner un exemple ou fournir un lien?

Merci! Il fonctionne!

j'ai encore un autre étroitement liés à la question de 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? Il travaillera pour la fonction de rappel?

34
demandé sur Garrett Albright 2012-12-06 18:18:26

9 réponses

Appel reveal comme vous le feriez normalement, mais incluez le nom de l'option et la fonction correspondante comme objet:

//Reveal the modal and say "Good bye" when it closes
$("#myModal").reveal({ "closed": function () { alert("Good bye") } });
15
répondu chrisjsherm 2012-12-07 15:40:33

la réponse ci-dessus n'a pas fonctionné pour moi. Voici ce qui a fonctionné (Fondation 4 et jQuery):

$('#myModal').bind('opened', function() {
  console.log("myModal opened");
});
41
répondu meatrobot 2013-05-20 20:54:51

Événement Liaisons pour Zurb Foundation Révèlent -

Il y a une série d'événements que vous pouvez lier à déclenchement 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 données révèlent utilisés dans la seule page comme suit :

<div class="content reveal-modal" id="element-1" data-reveal>
<div class="content reveal-modal" id="element-2" data-reveal>

alors dans ces situations vous pouvez déclencher le rappel comme expliqué ci-dessus mais avec peu de modification comme montré 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...
});
19
répondu Kedar.Aitawdekar 2014-10-08 08:08:11

sur Zurb Foundation v6, ces événements ont été renommés en xxx.zf.reveal:

  • closeme.zf.révèlent se déclenche immédiatement avant l'ouverture du modal. Ferme tous les autres models qui sont actuellement ouverts
  • ouvrir.zf.révèlent feux lorsque le modal s'est ouvert avec succès.
  • fermé.zf.révèlent feux lorsque le modal est terminé fermeture.

Source: http://foundation.zurb.com/sites/docs/reveal.html#js-events

Exemples:

  • callback générique qui se déclenche pour toutes les modales:

    $(document).on('open.zf.reveal', '[data-reveal]', function() {
      console.log('This works');
    });
    
  • Rappel se déclenche quand un modal est ouvert:

    $(document).on('open.zf.reveal', '#<ELEMENT-ID>[data-reveal]', function() {
      console.log('This works');
    });
    
7
répondu sequielo 2017-05-04 01:05:46

comme meatrobot l'a dit, pour que cela fonctionne, vous voulez lier le modal avec l'action que vous ciblez. J'ai reçu ceci:

$('#myModal').bind('closed', function() {
    console.log("myModal closed!");
});
3
répondu Chris Roane 2013-09-17 13:34:31

C'est un peu tard mais pour la deuxième partie vous ajoutez les attributs comme une liste de valeurs séparées par deux points dans l'attribut data-options (testé avec la fondation 5), I. e:

<div id="myModal" data-options="close_on_background_click:false;" class="reveal-modal">

Et non, vous ne pouvez pas passer fonctionne de cette manière, j'ai essayé :)

2
répondu James Lock 2014-02-15 10:47:51

en regardant la Fondation 5 et a constaté que la bibliothèque reveal déclenche des événements ouverts, ouverts, fermés et fermés. Il suffit d'attacher un handler à l'événement que vous voulez.

$('#myModal').on([event], handler)

Vous pouvez également passer les gestionnaires via l'argument paramètres. Regardez ça: https://github.com/zurb/foundation/blob/master/js/foundation/foundation.reveal.js#L92

1
répondu djtek 2015-07-08 00:30:28

la documentation de la fondation 5 spécifie la portée des événements reveal à l'espace d'événements 'reveal'. Cependant, les événements modaux réels ne semblent pas se déclencher de façon uniforme dans cet espace d'événements. Suppression de cette spécification corrige le problème:

$(document).on('opened.fndtn', '[data-reveal]', function() {
  console.log('This works');
});
1
répondu Brian Peacock 2016-04-26 13:35:32

Dans la fondation 3.2.5 vous devez lier " dévoilent:ouvert comme ceci:

$('#myModal').bind('reveal:opened', function() {
   console.log("myModal opened");
});

Salutations, MarianoC.

0
répondu MarianoC 2015-07-06 21:28:30