将jquery函数绑定到fancybox.close()事件

将jquery函数绑定到fancybox.close()事件,jquery,function,fancybox,bind,Jquery,Function,Fancybox,Bind,我想基于fancybox关闭触发一个简单的jQuery函数。这是页面上唯一的fancybox $.fn.fancybox.close = function() { $('#sub_cont').hide(250, function() { $('#IDsearchform input').val(''); }); }); 当然,上述方法不起作用*更新:* 请注意@mathoiland的回答,“看起来Fancybox 2不赞成onClosed回调。它现在使用afterC

我想基于fancybox关闭触发一个简单的jQuery函数。这是页面上唯一的fancybox

$.fn.fancybox.close = function() {
    $('#sub_cont').hide(250, function() {
    $('#IDsearchform input').val('');
    });
 });
当然,上述方法不起作用

*更新:* 请注意@mathoiland的回答,“看起来Fancybox 2不赞成onClosed回调。它现在使用afterClose。”如果您使用的是Fancybox 2.x

将onClosed选项传递给fancybox函数

i、 e:

$(“”)。fancybox({
onClosed:function(){
$('#sub_cont')。隐藏(250,函数(){
$('#IDsearchform input').val('';
});
})
});

只是一个注释。Fancybox 2似乎对一次关闭的回调进行了贬值。它现在使用afterClose


请参阅“回调”下的新文档

在最新版本的fancybox中,您可能需要使用“afterClose”代替“onClosed”

所以这个代码

$("<YOUR-SELECTOR>").fancybox({
  onClosed: function() {
    $('#sub_cont').hide(250, function() {
    $('#IDsearchform input').val('');
    });
  })
});
$(“”)。fancybox({
onClosed:function(){
$('#sub_cont')。隐藏(250,函数(){
$('#IDsearchform input').val('';
});
})
});
应该成为

$("<YOUR-SELECTOR>").fancybox({
  afterClose: function() {
    $('#sub_cont').hide(250, function() {
    $('#IDsearchform input').val('');
    });
  })
});
$(“”)。fancybox({
后关闭:函数(){
$('#sub_cont')。隐藏(250,函数(){
$('#IDsearchform input').val('';
});
})
});

使用onClosed选项初始化fancybox时如何?谢谢,它对我来说很好:-)但是你需要添加这样的单引号“onClosed”
onClosed
deferred请使用
afterClose
@Ajmal你介意阅读我提到的解决方案的帖子吗(这在我回答问题时是有效的),现在被否决了,并检查matthoiland的答案?我不知道为什么你仍然认为答案应该被否决…我不在乎。。。
$("<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('');
    });
  })
});