点击事件在谷歌地图信息窗口没有抓到
-
19-09-2019 - |
题
使用谷歌地图V2,我想能够触发点击一个的GMarker的信息窗口文本时的功能。
$(".foo").click(myFunction);
...
marker.openInfoWindowHtml("<span class=\"foo\">myText</span>");
不起作用。为什么不是信息窗口内抓事件?
解决方案
如果事件绑定呼叫在呼叫openInfoWindowHtml之前调用,因为它是在你的榜样,跨度是不是在DOM当第一个呼叫正在寻找与类元素“富”,所以没有处理程序连接
您可以移动该事件处理openInfoWindowHtml之后调用,或使用“直播”事件绑定,这样jQuery将监视DOM与给定的选择任何新的元素。
$(".foo").live('click', myFunction);
其他提示
我不能得到它像凯文·戈斯基工作说明......
与jquery 1.9.1和地图API V = 3.exp以下工作:
infowindow.setContent('<a href="#" id="test">test</a>');
google.maps.event.addDomListener(infowindow, 'domready', function() {
$('#test').click(function() {
alert("Hello World");
});
});
据我所知,GMaps注入内容纳入信息窗口编程,所以除非你使用事件代表团注入的元素任何绑定的事件处理程序将不会触发:
$(".foo").live("click", myFunction);
请参阅 live
的事件处理程序。
尝试这种情况:
google.maps.event.addListener(infowindow,"**domready**",function() {
var Cancel = document.getElementById("Cancel");
var Ok = document.getElementById("Ok");
google.maps.event.addDomListener(Cancel,"click",function() {
infowindow.close();
});
google.maps.event.addDomListener(Ok,"click",function() {
infowindow.close();
console.log(position);
codeLatLng(position);
});
});
简单的解决方案,并为我工作。在跨度使用onclick事件。
<span class=\"foo\" onclick="test()">myText</span>
function test(){
alert('test OK');
}
不隶属于 StackOverflow