我有一个带有自定义InfoWindows的谷歌地图。Alle InfoWindows有一个按钮,它有一个锚链接。每个按钮应该打开一个覆盖onclick。
我的InfoWindows设置如下:
var infoWindowContent = [
['<div class="info_content">' +
'<img src="images/villa-heinepark-klein.jpg"/>' +
'<div class="info_text">' +
'<h2 class="firstHeading">Villa im Heinepark</h2>' +
'<p>' +
'<img src="images/icon-ring.png"/>' +
'draußen unbegrenzt,' +
'<br>' +
'drinnen bis zu 90 Personen' +
'</p>' +
'<p>' +
'<img src="images/icon-glass.png"/>' +
'max. 110 / min. 60 Personen</p>' +
'<a href="#HEINEPARK" class="button" onclick="myFunction()">> Mehr Informationen</a>' +
'</div>' +
'</div>'],
['<div class="info_content">' +
'<img src="images/lutter-wegner-klein.jpg"/>' +
'<div class="info_text">' +
'<h2 class="firstHeading">Lutter & Wegner</h2>' +
'<p>' +
'<img src="images/icon-ring.png"/>' +
'ca. 35 Personen sitzend,' +
'<br>' +
'bis zu 80 inkl. Stehplätze' +
'</p>' +
'<p>' +
'<img src="images/icon-glass.png"/>' +
'max. 110 / min. 60 Personen</p>' +
'<a href="#LUTTERWEGNER" class="button">> Mehr Informationen</a>' +
'</div>' +
'</div>'],
我的Javascript是这样的:
function myFunction(e) {
$('.button').click(function() {
var anchor = $(this).attr("href");
//alert(ab);
$(anchor).show();
return false;}) }
问题是你必须点击两次,它只适用于第一个信息窗口。有人能帮帮我吗?
提前感谢Jette
好吧,我刚刚弄明白它是怎么工作的。我把javascript改成:
var int=setInterval('check()', 500);
function check()
{
if (chkObject('.button')==true)
{
$('.button').click(function() {
var anchor = $(this).attr("href");
//alert(ab);
$(anchor).show();
return false;})
}
}
function chkObject(elemId)
{
return (document.getElementsByClassName('.button'))? true : false;
}
所以它检查是否有一个。button在它执行这个功能之前。我去掉了a标签中的onclick。谢谢你!
您在每个按钮上都有一个onclick事件,并且在按钮上有一个click事件处理程序。你不需要两者都需要。
去掉onclick事件,所以
'<a href="#HEINEPARK" class="button" onclick="myFunction()">> Mehr Informationen</a>'
是
'<a href="#HEINEPARK" class="button">Mehr Informationen</a>'
并设置点击事件处理程序一次,在同一时间,你创建你的数组,即摆脱myFunction
部分的代码,所以你留下:
$('body').on('click', '.button', function() {
var anchor = $(this).attr("href");
$(anchor).show();
return false;
});