$未定义..但它是无法找到的fancybox

时间:2014-04-30 20:19:51

标签: javascript jquery fancybox fancybox-2

今天经历了无数次斗争。

我有一条执行线正在响应:

Uncaught ReferenceError: $ is not defined

这首先让我检查jquery是否正在加载,但确实如此。真正的错误是它无法找到fancybox功能。

我的HTML元素是:

<div><span class="fancybox"></span></div>

当点击一个按钮时,一个函数会运行,然后当我们到达这一行时它会抛出错误:

$('.bmgi_fancybox').fancybox.open(
{
    'afterClose': RefreshParentGridHandOff(SubGridName),
    'data-fancybox-type' : 'iframe',
    'href': FullUrl,
    'modal' : true
 });

真正的错误是open不是未定义的函数...即。 fancybox未定义。

我已经检查过并且所有库都已加载并点击它们解决了吗?

<link rel="stylesheet" type="text/css" href="/.../jquery.fancybox.css">
<link rel="stylesheet" type="text/css" href="/.../jquery.fancybox.buttons.css">
<link rel="stylesheet" type="text/css" href="/.../jquery.fancybox.thumbs.css">

<script type="text/javascript" src="/.../jquery.1.10.1.min.js"></script>
<script type="text/javascript" src="/.../jquery.mousewheel.3.0.6.pack.js"></script>
<script type="text/javascript" src="/.../jquery.fancybox.pack.js"></script>
<script type="text/javascript" src="/.../jquery.fancybox.js"></script>
<script type="text/javascript" src="/.../jquery.fancybox.buttons.js"></script>
<script type="text/javascript" src="/.../jquery.fancybox.thumbs.js"></script>
<script type="text/javascript" src="/.../jquery.fancybox.media.js"></script>

文件重命名是正确的,因为我们不允许文件名中的连字符....正如我所说,在开发工具中点击它们,链接会解析并打开。

我已经花了2个小时在这上面,不知道如何继续搞清楚......我的意思是显然缺少了一些东西,但是我看不到/不理解。

谢谢


我只是想到了另一个重要的事情

单击按钮,调用fancybox.open的函数在iframe中,而显示的库span元素等在父元素中....我认为这可能是我的问题。

1 个答案:

答案 0 :(得分:2)

当您调用它时,open方法未定义:

typeof $.fancybox.open // function
typeof $('SELECTOR').fancybox.open // undefined

你需要这样称呼它:

$.fancybox.open({
    afterClose: function(){
        RefreshParentGridHandOff(SubGridName);
    },
    type: 'iframe',
    href: FullUrl,
    modal: true
});

我希望这有帮助!