2011-04-22 39 views
27

我想基于fancybox关闭来触发一个简单的jQuery函数。它是网页将jquery函数绑定到fancybox .close()事件

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

ofcourse上述上唯一的fancybox不工作

+0

如何使用onClosed选项初始化fancybox? – Matt 2011-04-22 01:53:17

回答

44

* 更新:* 请记@ mathoiland的回答,“它看起来像的fancybox 2弃用onClosed回调,现在使用afterClose。“如果您使用的是FancyBox 2.x

将onClosed选项传递给fancybox函数。

即:

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

感谢它对我来说工作正常:-)但你需要添加像这样的单引号'onClosed' – Peeyush 2011-08-02 05:01:12

+5

单引号不是必需的。 – 2011-09-19 13:35:19

+8

'onClosed'折旧请使用'afterClose' – 2013-06-04 18:00:46

7
$("#myfancybox").fancybox({ 
    'onClosed' : function() { 
      $('#sub_cont').hide(250, function() { 
       $('#IDsearchform input').val(''); 
      }); 
    } 
}); 
32

刚一说明。它看起来像Fancybox 2贬低onClosed回调。它现在使用afterClose。

请参阅“回拨”下的新文档。 http://fancyapps.com/fancybox/

+2

+1随着时间的推移回答新的解决方案 – Korcholis 2012-06-07 11:43:20

15

在的fancybox的最新版本,你可能需要使用 'afterClose' 代替 'onClosed'

所以这个代码..

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

应该成为...

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