私は 1 つのプロジェクトで Google マップ 3.0 の実装に取り組んでおり、マップを制御するために jquery-gmap3 プラグインを使用しています。すべて問題ありませんが、IE9 (通常) だけでは、ページの適切な解釈に問題があります。
私はjquery-gmap3クラスター化マーカー(マーカーではなくオーバーレイとして表されていると思います)を持っており、その中にテキスト(このクラスターに含まれるマーカーの数)があります。次に、通常の方法でこのクラスターにイベントを関連付けますmouseover
。mouseout
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がイベントをトリガーします。この動作を修正するには、イベントの伝播をいじるだけで十分だと思います。または、このトピックについて何か考えはありますか?
回答ありがとうございます。