J'utilise FANCYBOX dans mon application. Maintenant, pour gérer l'événement étroit, nous écrivons quelque chose comme: vu sur cette page doc: p> Http:/fancyapps.com/fancybox/#docs P> Cependant, je veux écrire quelque chose de courant et global à toutes les fantaisies qui gèrent chaque fois que les Fancybox. Comment je fais ça? En bref, je ne veux pas écrire le code d'ONCLOSE sur chaque FANCYBOX et que vous ne voulez pas qu'il soit dépendant de la classe, ID (par exemple, mais cela ne fonctionne pas et de la DOCS semble être la fonction d'ouverture programmatique. P> P> .fancybox code> dans ce cas). Comment je fais ça? J'ai essayé d'écrire: p>
4 Réponses :
Je ne suis pas sûr que ce soit la meilleure solution, mais j'irais pour un pub / sous-modèle, dans votre fantaisie, vous devriez faire quelque chose comme ça. Puis, quelque part dans votre code: p> $( window ).on( 'fancyboxClosed', function () {
// Your global function for fancybox closed
} );
C'est bon mais cela signifie toujours que j'ai écrit $ (fenêtre) .Trigger ("FancyboxClosed"); pour chacun des fantaisies.
C'est l'inconvénient. Vous pouvez également pirater FANCYBOX pour déclencher l'événement chaque fois que vous n'avez pas besoin d'écrire.
De ce que je vois, Fancybox ne fournit aucune API pour cela. Vous pouvez plutôt utiliser un hack. La Lightbox est fermée lorsque: p>
Donc, vous pouvez ajouter un gestionnaire de clic au corps pour vérifier si l'événement.Target est une superposition .Fancybox-Fermer ou .fancybox-superposition. Ajoutez également un gestionnaire de clé au document à écouter si une touche d'échappement est enfoncée. P>
une autre option: 4. Quand quelque chose appelle $.fancybox.frose ();
Essayez d'utiliser des méthodes
Beforeclose ou après-gamme P> blockQuote>
Ce code fonctionne bien p>
xxx pré> p>
Voici une solution décente pour 1.3.4 pour une version autre que 1.3.4 Vérifiez les sélecteurs d'élément FANCYBOX pour la superposition et le bouton fermer à l'aide de la libellule, de la luciole ou d'autres . p> p>
La chose la plus étrange à propos de cette question (et sa réponse acceptée) est que
onclose code> n'est pas une option valide (rappel) ni pour FANCYBOX V1.3.X ou V2.X. Vous vous référez à Fancyapps.com/fancybox/#docs mais il n'y a rien à propos de ce
sur la close Option API CODE> API (
ONCLOSED code> est une option valide pour FANCYBOX V1.3.3 et il est documenté à FancyBox.net).
@JFK: Merci d'avoir souligné. Je ne suis pas réalisé que c'était une faute de frappe ni Antonio. Mais ce n'est pas bizarre. C'était ma faute de frappe et la réponse a une faute de frappe parce que ma question a une faute de frappe. Les fautes de frappe sont acceptées. J'ai accepté la réponse en raison du concept qu'il a fourni et lorsque j'ai mis en œuvre le concept, il semble fonctionner. BTW, qu'est-ce que je voulais vraiment dire était weforeclose i> événement. J'espère que c'est là dans API;)