我的网站上有谷歌地图。单击相应的标记时,每个信息窗口都会打开,并包含一个带有单独 ID 的复选框。当复选框被选中时,会触发控制台消息。这是代码:
function initialize()
{
var mapOptions =
{
center: new google.maps.LatLng(-34.600, -58.400),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP,
minZoom: 12,
scrollwheel: false,
};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var point1 = new google.maps.LatLng(-34.600, -58.400)
dot0001 = new google.maps.Marker(
{
position: point1,
map: map,
})
var point2 = new google.maps.LatLng(-34.620, -58.400)
dot0002 = new google.maps.Marker(
{
position: point2,
map: map,
})
var infowindow = new google.maps.InfoWindow({});
function filltheinfowindow(markername, numbercode, object)
{
infowindow.open (map, markername)
infowindow.setContent(
'<div id="tabsinfo'+numbercode+'" class="infotabs">'+
'<ul><li><a href="#tabsinfo0001-1">Details</a></li>'+
'<li><a href="#tabsinfo0001-2">Photos</a></li></ul>'+
'<div id="tabsinfo0001-1">'+
'<input name="" type="checkbox" id="checkboxinfo'+numbercode+'" value="">'+
'</div>'+
'<div id="tabsinfo0001-2">'+
'<img src="_objects/_object0001/_images/1.jpg">'+
'</div>'+
'</div>')
}
function activatecheckbox(numbercode)
{
$("#tabsinfo"+numbercode).tabs();
$('#checkboxinfo'+numbercode).change(function()
{
if($('#checkboxinfo'+numbercode).is(':checked'))
{
console.log("checkboxtest")
}
})
}
google.maps.event.addListener(dot0001, 'click', function()
{
filltheinfowindow(dot0001, "0001")
})
google.maps.event.addListener(dot0002, 'click', function()
{
filltheinfowindow(dot0002, "0002")
})
google.maps.event.addListener(infowindow, 'domready', function()
{
activatecheckbox("0001")
})
google.maps.event.addListener(infowindow, 'domready', function()
{
activatecheckbox("0002")
})
}
这是问题所在: 选中复选框时会触发两次控制台消息。
这是奇怪的事情:当我在标签二中加载没有图像的网页时,控制台消息只触发一次,就像它应该的那样。不幸的是,这些图像是我网站的重要组成部分。
对我来说,这完全没有意义。
任何帮助表示赞赏