我知道这个问题已经讨论了很多次,但我尝试了所有的建议而没有人没有工作。我正在使用带有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是未定义的。
答案 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();