gpt4 book ai didi

javascript - Maps Api v3 自定义控件不适用于 IE8

转载 作者:行者123 更新时间:2023-11-28 10:08:24 28 4
gpt4 key购买 nike

我为我的 map 应用程序使用自定义控件。它在 FF、Safari、Chrome 和 IE9 上运行良好,但在 IE8 或 IE7 上似乎未触发更改事件?这里出了什么问题:

function bf_mapstyle_Control(controlDiv, map) {

controlDiv.style.paddingTop = '5px';
controlDiv.style.paddingRight = '20px';

// Set CSS for the control border
var controlUI = document.createElement('DIV');
controlDiv.appendChild(controlUI);

// Set CSS for the control interior
var controlText = document.createElement('DIV');
controlText.innerHTML = '<select id="select_mapstyle" style="font-family: Verdana,Arial,sans-serif; font-size : 12px; border: 1px solid #D8D8D8;border-radius: 3px; padding: 5px;">' +
'<option value="0">Google Karte</option>' +
'<option value="1">Google Satellit</option>' +
'<option value="2" selected>OpenStreetMap</option>' +
'<option value="3">OpenCyleMap</option></select>';
controlUI.appendChild(controlText);
google.maps.event.addDomListener(controlUI, 'change', function() {
var tid = document.getElementById('select_mapstyle').value;
changeMapType(tid);
});

};

function changeMapType(inType){
switch (inType){
case '0' : map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
break;
case '1' : map.setMapTypeId(google.maps.MapTypeId.HYBRID);
break;
case '2' : map.setMapTypeId('OSM');
break;
case '3' : map.setMapTypeId('OSM Cycle');
break;
}
}

最佳答案

“change”事件不会在 IE 中使 DOM 冒泡。 (我猜可能在 IE9 中。)您必须将事件处理程序放在 <select> 上。元素本身。

关于javascript - Maps Api v3 自定义控件不适用于 IE8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7880554/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com