当弹出页面中包含 jquery 时(我使用 AJAX 并在弹出窗口中包含外部 php 页面),我在关闭花式框弹出窗口时遇到问题。花式盒子的设置如下:
$(".various3").fancybox({
'type' : 'ajax',
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none',
'ajax' : {
type : 'GET'
}
});
弹出窗口有一个“取消”按钮,允许用户关闭弹出窗口(使用 jQuery.fancybox.close();)。我必须在弹出页面中包含 jquery 以允许其他一些功能工作,这会阻止 jQuery.fancybox.close(); 从工作。如果我从弹出页面中删除 jquery,那么它可以正常工作,但是我无法弄清楚如何在主页上引用 jquery 的实例(我已经尝试过 parent 以防万一,虽然我不认为这应该工作,因为它是div 确实没有)。我试过使用:
var localjquery = jQuery.noConflict(true);
在弹出页面中,这允许我使用 jQuery.fancybox.close(); 要成功关闭弹出窗口,但这会阻止使用 $ 来引用我无法编辑的此页面上其他插件所需的 jquery。如果我添加
var mainjquery = jQuery.noConflict();
在主页上的第一个 jquery 实例之后,这显然工作正常,我可以在父级上将其称为 mainjquery,但如果然后尝试
mainjquery.fancybox.close();
在弹出窗口中,它说 mainjquery 未定义。
我怀疑这是一个问题,因为多个 jquery 实例的组合并通过 ajax 将完全独立的页面加载到 div 中(而不是使用 iframe 等,然后我可以使用 parent. 或类似的)。如果有人能阐明我如何从子弹出窗口中引用 mainjquery 引用,或者我可以关闭fancybox 的更好方法,那将不胜感激。
非常感谢!
戴夫