我尝试为Info Window添加一些侦听器,如:
//works
google.maps.event.addListener(markerInfoWindow, "closeclick", function()
{
console.log('trigger close');
});
//doesn't work
google.maps.event.addListener(markerInfoWindow, "click", function()
{
console.log('trigger close');
});
在我错过的文档中是否有infoWindow的事件列表,或者是否有其他方法来完成这些事情?
实际上,问题是我想创建一个事件侦听器来关闭mouseout
上的infoWindow
google.maps.event.addListener(markerInfoWindow, 'mouseout', function(){
console.log('trigger close');
self._setInfoWndClosed();
});
self._setInfoWndClosed()
在closeclick
事件的上下文中正确工作。最后我发现其实倾听者本身并不起作用。
4条答案
按热度按时间fcipmucu1#
InfoWindow没有记录的“单击”或“鼠标悬停”事件:目前在google.maps.InfoWindow上记录的事件只有:
活动
closeclick参数:无
单击“关闭”按钮时激发此事件。
content_changed参数:无
当content属性更改时,将激发此事件。
domready参数:无
将包含InfoWindow内容的附加到DOM时,将激发此事件。如果动态构建信息窗口内容,您可能希望监视此事件。
position_changed参数:无
当position属性更改时激发此事件。
zindex_changed参数:无
当InfoWindow的zIndex更改时,将触发此事件。
您可以在InfoWindow的content上添加click和mouseover事件的监听器。
cdmah0mi2#
如此链接所示:
https://gist.github.com/thebouv/38f91f81675aad85f15d
你可以添加一个'domready'事件监听器到你的信息窗口.一旦进入回调,您就可以通过id(使用标准的“addEventListener”)将事件侦听器附加到任何信息窗口元素。“onclick”方法要好得多,但在我的情况下效果不好,因为我使用的是react。
3z6pesqy3#
对于在infowindow中添加侦听器,我的工作原理是这样的。
3htmauhk4#
创建infowindow时,需要向其添加事件侦听器
请记住,上面的代码假设您在infowindow中有一个HTML元素,该元素具有“.infowindow-inner-class”类