我有自定义InfoWindows的Google地图。 Alle InfoWindows有一个具有锚链接的按钮。每个按钮都应打开一个覆盖点。
我的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;}) }
问题是您必须单击两次才能在第一个InfoWindow上运行。有谁能够帮我?
提前致谢 杰特
答案 0 :(得分:0)
您的每个按钮都有一个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;
});
答案 1 :(得分:0)
好的,我只知道它是如何工作的。我将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-tag中的onclick。谢谢!