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

iam*_*box 28 jquery bind function fancybox

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

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

当然以上都行不通

Cha*_*ndu 47

*更新:* 请注意@ mathoiland的答案,"看起来Fancybox 2弃用了onClosed回调.它现在使用afterClose." 如果你使用的是FancyBox 2.x.

将onClosed选项传递给fancybox函数.

即:

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

  • `onClosed`折旧请使用`afterClose` (8认同)
  • 单引号没有必要. (5认同)

mat*_*and 34

只是一张纸条.看起来Fancybox 2折旧onClosed回调.它现在使用afterClose.

请参阅"回调"下的新文档.http://fancyapps.com/fancybox/

  • 随着时间的推移,+1用于回答新的解决方案 (3认同)

小智 15

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

所以这段代码..

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

应该成为......

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


Mat*_*att 7

$("#myfancybox").fancybox({
    'onClosed'  : function() {
             $('#sub_cont').hide(250, function() {
                $('#IDsearchform input').val('');
             });
    }
});
Run Code Online (Sandbox Code Playgroud)