将Fusion Tables和GMaps(v3)与Jquery(v1.7.1)一起使用。
Gmaps使用Fusion Tables数据显示图层。 InfoWindow使用Fusion Tables信息填充(在Google Docs中配置 - > 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代码位于body“onload”上运行的initialize函数中。 我正在使用.live jquery处理程序,但已被弃用并且反正给我带来了问题。 .on处理程序不会触发。
有什么建议吗?
答案 0 :(得分:9)
您当前使用on
的方式,只有在呈现页面时存在的锚点才会与此点击处理程序连接;动态添加的锚点不会像live
一样被拾取。
你需要做这样的事情:
$(document).on('click', '.detail', function(){
console.log('Click worked');
});
现在,将会观察到文档中任何位置发生的所有点击,而来自具有类detail
的元素的任何点击都将导致该函数触发。
但这很浪费。希望有一些容器,你知道它们总是包含这些锚。如果有,你可以这样做:
$("#someDivId").on('click', '.detail', function(){
console.log('Click worked');
});
现在只会观察来自ID为someDivId
的元素内部发生的点击。