0

假设我有一个像这样的谷歌地图 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 时过度活跃。我希望只有当鼠标减速或停在标记处时才触发我的功能。这可以通过使用普通 dom 元素的 hoverintent 来解决,例如表格行 (tr)。

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

谢谢,

4

1 回答 1

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);
});
于 2011-07-09T13:17:42.933 回答