.点击事件未在带有Fusion Tables信息的Gmaps信息窗口内触发



将Fusion Tables和GMaps(v3)与Jquery(v1.7.1)一起使用。

Gmaps使用Fusion Tables数据显示图层。信息窗口是使用Fusion Tables信息填充的(在Google文档->Fusion Table->配置信息窗口界面中配置)。

在FT信息窗口的自定义HTML底部有一个链接,上面写着:

<div><a class="detail" href=#><b>Click to see more detail</b></a>
</div>

我对JQuery进行了测试,看看它是否被点击,然后执行代码。

$('.detail').on('click', function(){
    console.log('Click worked');
});

JQuery代码位于initialize函数内部,该函数在body"onload"上运行。我使用的是.live jquery处理程序,但它已经被弃用,而且无论如何都会给我带来问题。不过.on处理程序没有启动。

有什么建议吗?

当前使用on的方式是,只有在呈现页面时存在的锚点才会与此单击处理程序连接;动态添加的锚将不会像CCD_ 2那样被拾取。

你需要做这样的事情:

$(document).on('click', '.detail', function(){
    console.log('Click worked');
});

现在,将观察到文档中任何地方发生的所有单击,并且任何来自类为detail的元素的单击都将导致函数启动。

但这是浪费。希望有某种容器,你知道,将永远包含这些锚。如果有,你可以做:

$("#someDivId").on('click', '.detail', function(){
    console.log('Click worked');
});

现在,只会观察到从id为someDivId的元素内部发生的单击。

最新更新