如何从GMaps infowindow触发jQuery
我想从GMap信息窗口触发jQuery。 我有这些代码用于我的GMap:
var theContent = ""; var infowindow = new google.maps.InfoWindow({ content: theContent }); infowindow.open( map, marker);
和jQuery的这些代码:
$(document).ready(function() { $('form').bind('submit',function() { var str = $('form').serialize(); $.ajax({ type: "POST", url: "save.php", data: str, success: function(msg){ alert('Saved!'); } }); return false; //so the page won't refresh }); });
问题是,我对infowindow文本框的输入没有保存,这就是为什么我认为jQuery不会在GMap infowindow / bubble内部触发。
当我在GMap之外尝试表格时,它运行正常。
谢谢你的帮助!
现在,jQuery代码绑定到文档准备好的表单,但不一定在信息窗口打开时。 因此,当infowindow甚至不是DOM的一部分时,你可能会绑定到表单,这是不可能的。 你需要:
- 调用
$('form').bind(...)
RIGHT AFTERinfowindow.open(...)
OR - 将
$('form').bind(...)
更改$('form').live(...)
。 这将针对页面上的所有当前和未来表单。
InfoWindow何时被创建,即何时执行顶级脚本? 这里没有足够的信息来讲述,但可能的原因可能是因为您在创建该表单之前尝试使用jQuery绑定到表单提交。
创建InfoWindow后尝试绑定到表单。