$ .fancybox.close()不起作用

时间:2011-03-04 11:08:25

标签: jquery fancybox undefined

我知道这个问题已经讨论了很多次,但我尝试了所有的建议而没有人没有工作。我正在使用带有href属性的fancybox,其中使用ajax加载内容。

$('a').fancybox(
        {
            href:'ajax/test.php',
            titleShow:false
        }); 

在内容中我有自定义关闭按钮

<a href="javascript:void(1)" title="close" onclick="$.fancybox.close()">Pirkti prekes</a>

当我点击我得到$ .fancybox是未定义的。

5 个答案:

答案 0 :(得分:2)

我不确定fancybox,但你的href属性应该是你的onclick处理程序末尾带有'return false'的'#'。

答案 1 :(得分:2)

而不是onclick它应该看起来像

$('a').click(function(){
 $(this).fancybox.close();
});

答案 2 :(得分:2)

我认为您的问题是因为您将ajax内容加载到iframe中?

尝试

<a href="javascript:;" onclick="parent.$.fn.fancybox.close();">Close</a>

此外,当我使用在页面标题脚本中初始化fancybox的相同选择器时,以下内容也适用于我。

<a href="javascript:;" onclick="$('a.myclass').fancybox.close();">Close</a>

其中a.myclass用作fancybox的选择器,如下所示

$("a.myclass").fancybox({
  'frameWidth':  920,
  'frameHeight':  705 //with whatever other attributes you want to define
});

编辑:请参阅Fancybox Google小组http://groups.google.com/group/fancybox/browse_thread/thread/a6eaf87875b93829

答案 3 :(得分:2)

有时我遇到同样的问题,并使用:

parent.$('body').fancybox.close();

$('body').fancybox.close();

 $.fancybox.close();

答案 4 :(得分:0)

我使用下面的代码。它通常起作用

$('.fancybox-close').click();