web-dev-qa-db-fra.com

lier une fonction jquery à l'événement fancybox .close ()

Je voudrais déclencher une simple fonction jQuery basée sur une fermeture de fancybox. c'est la seule fancybox sur la page

$.fn.fancybox.close = function() {
    $('#sub_cont').hide(250, function() {
    $('#IDsearchform input').val('');
    });
 });

bien sûr, ce qui précède ne fonctionne pas

27
iamwhitebox

* Mise à jour: * Veuillez prendre note de la réponse de @ mathoiland, "Il semble que Fancybox 2 ait déconseillé le rappel onClosed. Il utilise maintenant afterClose." si vous utilisez FancyBox 2.x

Passez l'option onClosed à la fonction fancybox.

c'est à dire:

$("<YOUR-SELECTOR>").fancybox({
  onClosed: function() {
    $('#sub_cont').hide(250, function() {
    $('#IDsearchform input').val('');
    });
  })
});
46
Chandu

Juste une note. Il semble que Fancybox 2 ait déprécié le rappel onClosed. Il utilise désormais afterClose.

Voir la nouvelle documentation sous 'Callbacks'. http://fancyapps.com/fancybox/

33
matthoiland

Dans la dernière version de fancybox, vous devrez peut-être utiliser "afterClose" à la place de "onClosed"

donc ce code ..

$("<YOUR-SELECTOR>").fancybox({
  onClosed: function() {
    $('#sub_cont').hide(250, function() {
    $('#IDsearchform input').val('');
    });
  })
});

devraient devenir ...

$("<YOUR-SELECTOR>").fancybox({
  afterClose: function() {
    $('#sub_cont').hide(250, function() {
    $('#IDsearchform input').val('');
    });
  })
});
15
Vinod K
$("#myfancybox").fancybox({
    'onClosed'  : function() {
             $('#sub_cont').hide(250, function() {
                $('#IDsearchform input').val('');
             });
    }
});
7
Matt