1

私は 1 つのプロジェクトで Google マップ 3.0 の実装に取り​​組んでおり、マップを制御するために jquery-gmap3 プラグインを使用しています。すべて問題ありませんが、IE9 (通常) だけでは、ページの適切な解釈に問題があります。

私はjquery-gmap3クラスター化マーカー(マーカーではなくオーバーレイとして表されていると思います)を持っており、その中にテキスト(このクラスターに含まれるマーカーの数)があります。次に、通常の方法でこのクラスターにイベントを関連付けますmouseovermouseout

cluster: { 
  events: { 
    mouseover: function(c, e, d) {...}, 
    mouseout: function(c, e, d) {...} 
  } 
}

私の基本的な問題は、(typeof e == 'undefined')クラスター オーバーレイとの間を移動するときに、イベント リスナー ハンドラー関数でイベントが提供されないことです。

私はこの方法の問題を追跡しましたjquery-gmap3.js:

// (that `console.log` was added by me)
this._attachEvent = function(sender, name, fnc, data, once){
  google.maps.event['addListener'+(once?'Once':'')](sender, name, function(event) {
    console.log([sender, name, event, data, once]);
    fnc.apply($this, [sender, event, data]);
  });
}

どうやら、イベントを Google API に登録してから、それをカスタム ハンドラーに転送しています。これは問題ありませんが、Google API自体はそもそもそのイベントを返していないようです。Googleのドキュメントによると、そうすべきです。

私の質問は、誰かが以前に同様の行動を経験したことがあり、何らかの洞察を提供できるかどうかです.

PS: なぜ私はそれが欲しいのですか? mouseoutテキスト(マーカーの数)の上にカーソルを移動すると、IE9がイベントをトリガーします。この動作を修正するには、イベントの伝播をいじるだけで十分だと思います。または、このトピックについて何か考えはありますか?

回答ありがとうございます。

4

0 に答える 0