私は、ユーザーがマーカーの上を移動するときに開くポップアップを持っています。現在、ユーザーがポップアップを閉じると閉じます(たとえば、ユーザーはポップアップ内のテキストを閉じることができません)。私はこの問題を解決しようとしているとあなたがここに見ることができるように私は、それを行うための素晴らしい方法を見つけました:
http://jsfiddle.net/sowelie/3JbNY/リーフレットがmouseoutイベントで正しいrelatedTarget要素を提供しないのはなぜですか?
ソリューションが動作しますが、それはそのフィドルで使用されていることリーフレットのバージョンが非常に古いですが、そこで私はリーフレットのバージョンをバージョン1.1.0に更新しました。これは、ソリューションの90%を分解します。
ここに2つのフィドルがありますが、最初のものは古いリーフレットの作業ソリューションと同じですが、私はconsole.log
を追加しました。もう1つはconsole.log
ですが、リーフレット1.1.0を使用しています。
旧1:http://jsfiddle.net/3JbNY/106/
新1:へのマーカーからあなたが出倍の100%、古いソリューションは常に、当然のポップアップ(ある正しいrelatedTarget
要素を、ログに記録することをhttp://jsfiddle.net/3JbNY/105/
お知らせポップアップ。マーカーから地図を終了すると、ポップアップにはなりません)。
しかし、リーフレットの新バージョンと同じソリューションに、回relatedTarget
の90%は、あなたがポップアップにすべての時間を終了している場合でもないポップアップです。このパーセンテージは任意ですが、実際には計算しませんでした。長時間試してみると、最終的に新しいソリューションはrelatedTarget
というポップアップを記録しますが、それは非常にまれです。
ここで正しい動作がわかりたいと思います。私の意見では、古いソリューションが動作するように動作するはずです。私が終了する場所に正しい要素を与えて、ポップアップを終了して閉じていないかどうかを調べることができます。なぜそれが変わったのですか?
relatedTarget
を入手するための回避策はありますか?リーフレットチームがこれにパッチを当てているかどうかには依存しませんか?またはrelatedTarget
に依存しない全く新しいソリューションですか?
私は助けてくれてありがとう!
編集:タイトルはmouseover
と言っていますが、私はmouseout
を意味しました。