【问题标题】:Make infowindow appear on mouseover, but not disappear when hovering on infowindow使 infowindow 在鼠标悬停时出现,但在 infowindow 上悬停时不会消失
【发布时间】:2018-12-05 09:21:25
【问题描述】:

是否可以在将鼠标悬停在标记上时显示信息窗口,但允许将信息窗口悬停在上面并且也可以点击?我的问题是,一旦我将鼠标移出标记,信息窗口就会消失,并且无法单击其中的链接。如何进行设置,以便将鼠标悬停在标记和信息窗口上时,它会停留在屏幕上?

这是显示和隐藏信息窗口的代码..

  marker.addListener('mouseover', function() {
    infowindow.open(map, marker);
  });

  marker.addListener('mouseout', function() {
    infowindow.close(map, marker);
  });

这是我正在解释的一个例子..

https://jsfiddle.net/v8ghoqLr/

【问题讨论】:

  • 允许信息窗口悬停在上面并且也可以点击 ...好吧,这是允许的,你只是用鼠标退出事件来关闭它。只是不要使用鼠标悬停/移出,而是单击事件。更简单、更少混乱、适合移动设备等。
  • 你有没有想过这个问题

标签: javascript google-maps google-maps-api-3 infowindow


【解决方案1】:

您应该在marker.addListener 上保留mouseout 未定义,并将mouseout 定义为onclick,以便您可以悬停并显示它,并且模式是交互式的,直到他们单击页面主体或再次在标记上。

它应该看起来像这样:

  marker.addListener('mouseover', function() {
    infowindow.open(map, marker);
  });
  
  marker.addListener('onclick', function() {
    infowindow.close(map, marker);
 });
 
 body.addListener('onclick', function() {
  infowindow.close(map, marker);
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    相关资源
    最近更新 更多