您好,我正在使用 jQuery 插件 fancybox 在有人将地址输入文本框并点击旁边的提交按钮时显示 bing map 。然后加载一个花式框并显示该地址的 map 。这在我的应用程序中运行良好,但问题是,它只在一个页面和另一页上运行良好,当我加载它时,它给我一个错误,说 fancybox 不是一个函数。我在错误控制台和 Firebug 控制台中看到了这个错误。我不确定是什么问题。相同的代码在另一个页面上有效,但在这个页面上却不起作用?
$("<a href=\"#showmap\">Map</a>").fancybox is not a function
我很确定这不是可重用性问题。但是当我测试看是否加载了fancybox的原始文件时,它们加载了dom,所以这可能不是实际问题。但我无法理解还有什么问题。
这是我的代码
abbr: 只是一个文本位。根据用户的选择,我有不同的 div。每个 div 都有自己的控件,这些控件将以该文本开头,并附加有它们自己的定义,例如 mapresults、decValLat、decValLon 等。
例如:缩写>>东 然后 id 将是 eastmapresults、eastdecValLat、eastdecValLon 等。
function showMapFancybox(abbr){
var abbr;
$('#'+abbr+'mapresults').hide();
$('<a href="#showmap">Map</a>').fancybox({
overlayShow: true,
onClosed: function() {
$('#'+abbr+'mapresults').show();
map_latdec = $('#decValLat').attr('value');
map_longdec = $('#decValLon').attr('value');
map_latdeg = $('#degValLat').attr('value');
map_longdeg = $('#degValLon').attr('value');
$('#'+abbr+'decValLatsub').val(map_latdec);
$('#'+abbr+'decValLonsub').val(map_longdec);
$('#'+abbr+'degValLatsub').val(map_latdeg+'N');
$('#'+abbr+'degValLonsub').val(map_longdeg+'W');
}
}).click();
};
最佳答案
我已经有这种类型的错误,因为我在插件导入后重新加载 jQuery,检查你是否错误地重新导入了 jquery(有时包含在像 jQuery 工具这样的包中)。
关于javascript - Fancybox 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992054/