0

次のようなGoogleマップv2GMarkerがあるとします。

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

jqueryと同様の動作が必要です。通常のmouseoverイベントやmouseoutイベントではなく、hoverintentを使用して、画面上でマウスを動かしたり、誤ってGMarkerに触れたりしたときの多動を回避します。マウスが遅くなるか、マーカーで停止したときにのみ関数がトリガーされるようにしたいと思います。これは、テーブル行(tr)などの通常のdom要素のホバーインテントを使用して解決できます。

私の問題は、jQueryを使用してGMarkerを選択する方法がわからないことです。それができない場合、他の方法でGMarkersをホバーインテントにフックするにはどうすればよいですか?

ありがとう、

4

1 に答える 1

1

私はこの答えに基づいて自分自身をローリングすることでこれを解決しました: jqueryホバーイベントを遅らせますか?

これは、マウスカーソルの動きが遅い場合にのみ遅延を与えますが、今のところは十分です。

これが判明したことです:

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 に答える