jquery hoverintent与谷歌地图gmarker

时间:2011-07-09 11:34:53

标签: jquery google-maps hoverintent

说我有这样的Google maps v2 GMarker:

var marker = new GMarker(point, {
  icon :myicon,
  title :'whatever'
});
GEvent.addListener(marker, "mouseover", function() {
  myover(pointid);
});
GEvent.addListener(marker, "mouseout", function() {
  myout(pointid);
});

我希望行为类似于jquery - hoverintent而不是正常的mouseover和mouseout事件,以避免在屏幕上移动鼠标并意外触摸GMarker时过度活跃。我希望只有当鼠标减速或停在标记处时才会触发我的功能。这可以使用hoverintent来解决正常的dom元素,例如表行(tr)。

我的问题是,我不知道如何使用jQuery选择GMarker。 如果无法完成,我如何以其他方式将我的GMarkers挂钩到hoverintent?

谢谢,

1 个答案:

答案 0 :(得分:1)

我有点基于这个答案来解决这个问题: Delay jquery hover event?

这只会在没有缓慢移动鼠标光标的情况下提供延迟,但现在已足够了。

结果如下:

GEvent.addListener(marker, "mouseover", function() {
  if (this.timer) {
    clearTimeout(this.timer);
    this.timer = null;
  }
  this.timer = setTimeout(function() {
    myover(pointid);
  }, 100);
});
GEvent.addListener(marker, "mouseout", function() {
  if (this.timer) {
    clearTimeout(this.timer);
    this.timer = null;
  }
  myout(pointid);
});