Jquery 无法关闭fancybox ajax窗口

Jquery 无法关闭fancybox ajax窗口,jquery,ajax,fancybox,Jquery,Ajax,Fancybox,无论我如何调用close方法,我似乎都无法使它工作 我尝试了所有可能的变化: $.fancybox.close(); parent.$.fancybox.close(); $.fn.fancybox.close(); etc... 无论我在代码中的何处或如何尝试调用fancybox上的close方法,它总是返回没有对象,并且close是未定义的。一路上,我把fancybox的参考资料弄丢了 首先,我用一个简单的链接打开一个fancybox窗口 然后,在已经打开的fancybox窗口中,一个按

无论我如何调用
close
方法,我似乎都无法使它工作

我尝试了所有可能的变化:

$.fancybox.close();
parent.$.fancybox.close();
$.fn.fancybox.close();
etc...
无论我在代码中的何处或如何尝试调用fancybox上的
close
方法,它总是返回没有对象,并且close是未定义的。一路上,我把fancybox的参考资料弄丢了

首先,我用一个简单的链接打开一个fancybox窗口

然后,在已经打开的fancybox窗口中,一个按钮触发另一个窗口的打开(注意:它关闭第一个窗口)。
我在使用colorbox时遇到了类似的问题。我最后想到的是将对colorbox对象的初始调用保存到一个全局名称空间。例如:

globalNamespace.myBox = $colorbox({href:'whatever'});
$.post('http://yoururl').success(function(data){
    // call close function like this
    globalNamespace.myBox.close()
});

还试过吗?我还没有检查在ajax调用之后放置preventDefault是否不同,但是嘿,你可能无法工作。同样的结果…:(您收到成功消息了吗?…我猜您的ajax调用中的某个地方会触发一个js错误,该错误会阻止fancybox工作。如果代码与我的问题完全相同,则不会显示该消息。fancybox错误会阻止脚本的其余部分执行。如果我尝试一些替代方法,如
$(“#fancybox close”)。单击()
消息已显示,但仍然无法工作。由于您使用的是ajax,因此被调用(ajaxed)页面不应包含任何jQuery或fancybox脚本,因为它们将从调用页面继承,否则它们可能会冲突。此外,您的自定义脚本也应包含在调用(主页)页面中(调用时,您的ajaxed内容将成为主页内容的一部分)。请参阅
globalNamespace.myBox = $colorbox({href:'whatever'});
$.post('http://yoururl').success(function(data){
    // call close function like this
    globalNamespace.myBox.close()
});