【问题标题】:bind a jquery function to fancybox .close() event将 jquery 函数绑定到 fancybox .close() 事件
【发布时间】:2011-08-10 17:27:32
【问题描述】:

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

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

以上方法当然不行

【问题讨论】:

  • 使用onClosed选项初始化fancybox怎么样?

标签: jquery function fancybox bind


【解决方案1】:

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

将 onClosed 选项传递给 fancybox 函数。

即:

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

【讨论】:

  • 谢谢它对我来说很好 :-) 但你需要像这样添加单引号 'onClosed'
  • onClosed 已折旧请使用afterClose
  • @Ajmal 您是否关心您阅读了这篇文章,其中我提到了我提出的解决方案(在我回答问题时有效),现在已被弃用并检查 matthoiland 的答案?不知道为什么你仍然认为答案会被否决......不是我在乎......
【解决方案2】:
$("#myfancybox").fancybox({
    'onClosed'  : function() {
             $('#sub_cont').hide(250, function() {
                $('#IDsearchform input').val('');
             });
    }
});

【讨论】:

    【解决方案3】:

    只是一个注释。看起来 Fancybox 2 贬低了 onClosed 回调。它现在使用 afterClose。

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

    【讨论】:

      【解决方案4】:

      在最新版本的 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('');
          });
        })
      });
      

      【讨论】:

        猜你喜欢
        • 2014-01-05
        • 1970-01-01
        • 1970-01-01
        • 2010-09-28
        • 2014-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多