带有Bing地图的经典jQuery选项卡问题

带有Bing地图的经典jQuery选项卡问题,jquery,jquery-ui,jquery-ui-tabs,bing-maps,Jquery,Jquery Ui,Jquery Ui Tabs,Bing Maps,我知道jQuery选项卡和使用映射存在多个问题。 我已经看到了多个修复,我已经完成了一半。但我有一个最模糊的问题,希望有人能理解为什么 这是我的标签代码 $("#contactTabs").tabs({ spinner: 'Loading <img src="../images/icons/ajax-loader.gif" />' }); $('#contactTabs').bind('tabsshow', function(event, ui) { if (ui.panel

我知道jQuery选项卡和使用映射存在多个问题。 我已经看到了多个修复,我已经完成了一半。但我有一个最模糊的问题,希望有人能理解为什么

这是我的标签代码

$("#contactTabs").tabs({ spinner: 'Loading <img src="../images/icons/ajax-loader.gif" />' });

$('#contactTabs').bind('tabsshow', function(event, ui) {
   if (ui.panel.id == "Map") {
   GetMap();
}
});
$(“#contactTabs”).tabs({spinner:'Loading'});
$('#contactTabs').bind('tabsshow',函数(事件,用户界面){
如果(ui.panel.id==“映射”){
GetMap();
}
});
目前不起作用。 但是我正在做一些测试,并添加了一个ALERT(),以查看“GetMap()”是否正在尝试加载。。。这就是我测试的代码,它运行得很好

$("#contactTabs").tabs({ spinner: 'Loading <img src="../images/icons/ajax-loader.gif" />' });

$('#contactTabs').bind('tabsshow', function(event, ui) {
   if (ui.panel.id == "Map") {
   alert("load map");
   GetMap();
}
});
$(“#contactTabs”).tabs({spinner:'Loading'});
$('#contactTabs').bind('tabsshow',函数(事件,用户界面){
如果(ui.panel.id==“映射”){
警报(“负荷图”);
GetMap();
}
});
所以我不知道为什么添加ALERT()会导致地图加载,而删除ALERT根本不会加载地图

有没有人可以就这个问题向我作出澄清? 提前谢谢你

尝试将GetMap()函数包装到以下文件中

setTimeout(
  function(){
     GetMap();
  }, 1000);
可能发生的情况是,由于JavaScript异步执行大量代码,因此在数据实际完全加载之前调用了GetMap()

此示例假定数据将在1秒内加载。但是,最好的做法是在调用GetMap()之前检查请求的数据是否已完全加载