【问题标题】:jQuery: Passing function in object?jQuery:在对象中传递函数?
【发布时间】:2012-10-20 23:37:16
【问题描述】:

我正在尝试对加载有 fancybox 的 iframe 的内容进行样式设置。我需要将一个函数附加到 onComplete 事件处理程序,但它似乎不起作用。

我做错了吗?

    $(".contact-page .contact-form-buttons .fancybox.iframe").fancybox({
        type: 'iframe',
        width: 550,
        height: 350,
        onComplete: function() {
            console.log('completed')
        }
    });

我没有在控制台中得到任何东西。我也尝试过 onStart,但也没有用。

** 更新 ** 由于 Yuriy 刚刚对解决方案发表了评论,因此我将在此处发布答案。我使用的是旧的 api 事件处理程序,Fancybox 2+ 的等价物是 afterLoadbeforeShow

【问题讨论】:

  • 根据我在blog 中看到的内容,它看起来是正确的。我看到的唯一区别是它们将关键字括在单引号中,因此它是“onComplete”,其他关键字也是如此。
  • Liam,确实在$(document).ready()。 NuclearGhost,我尝试将 onComplete 用引号括起来,但没有区别。
  • 你用的是哪个fancybox版本?
  • 只是 console.log 不工作吗?您尝试了提醒?
  • Fancybox 2.0.4 和 jQuery 1.7.1。我无法更新 jQuery,因为其他插件依赖于该特定版本。

标签: jquery object fancybox


【解决方案1】:

我快速浏览了同一插件的其他事件实现,似乎有两种方法:

...
'onComplete'        : function() {
  console.log('completed');
}
...

....
complete: function() {
  console.log('completed');
}
...

【讨论】:

  • 要使用的正确事件是 afterLoad。我正在查看旧版本的 API。
猜你喜欢
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-24
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多