0
我有與下面的代碼相關的位VEMap控制:爲什麼VEMap onclick事件在其他broswers但不是Firefox中運行?
map = new VEMap('map');
map.AttachEvent("onclick", DoContinents);
function DoContinents(event)
{
if (event.elementID != null)
{
//var shape = map.GetShapeByID(event.elementID);
//var id = shape.GetID();
//var id = event.elementID;
//alert (event.elementID);
if (event.elementID == 'msftve_1001_200000_10000')
{
map.SetCenterAndZoom(new VELatLong(15, -90), 2);
}
else if (event.elementID == 'msftve_1001_200001_10001')
{
map.SetCenterAndZoom(new VELatLong(48, 23), 2);
}
else if (event.elementID == 'msftve_1001_200002_10002')
{
map.SetCenterAndZoom(new VELatLong(4, 18), 2);
}
else if (event.elementID == 'msftve_1001_200003_10003')
{
map.SetCenterAndZoom(new VELatLong(43, 87), 2);
}
else if (event.elementID == 'msftve_1001_200004_10004')
{
map.SetCenterAndZoom(new VELatLong(-25, 134), 2);
}
cont.Hide();
vid.Show();
$('#sidebar_list').show();
$('#legend').show();
}
}
只是正常工作在Chrome,甚至在IE瀏覽器!然而,當我在Firefox中加載頁面時,當我點擊我的地圖圖標時沒有任何反應。經過進一步調查,我發現事件在所有瀏覽器和DoContinents中運行。在Chrome和IE中,event.elementID包含我單擊的VEShape的ID,但在Firefox中event.elementID爲空(即使有事件對象)!顯然這會導致我的DoContinents事件處理程序中的代碼無法運行。爲什麼會發生在Firefox而不是我的其他瀏覽器?