マウスオーバーイベントとマウスアウトイベントが一致しないことがありますか?

私は、マウスがHTML要素内にあるかどうかを追跡しようとしています(注:子要素もあります)。 マウスオーバー/マウスアウトにアタッチし、それらをカウントするという簡単な解決法(私は今採用しています) "マウスアウト"よりもマウスが内側にある必要があります。

しかし、私は疑問に思います。これらのイベントのいずれかが、私に不一致の数を残して、幾分(幾分奇妙な)状況下で「スキップ」することができますか?

いくつかのシンプルな試行ではこのような状況は生じませんでしたが、多くのエッジケースがあり、それらをすべて考えることはできません。誰もこのような状況に遭遇したことはありませんか?

Clarification: I have not come across such a problem. I'm wondering if such a problem is possible or not.

Added: A case just came to my mind - a mouseover/mouseout on a child element which is prevented from bubbling in its handler. Not the case for my code, but a possibility still.

2
両方がうまくいかなければ、それはOKです。ある人が働いていて、他の人が私を心配していない場合はそうです。それはすべて可能です。
追加された 著者 Vilx-,
関連要素の上に隠れた要素があると、「マウスオーバー」や「マウスアウト」が機能しないという印象を与えることができますか?
追加された 著者 MatTheCat,
だから、申し訳ありませんが、私はどの場合も表示されません。
追加された 著者 MatTheCat,

2 答え

Bubbling is very likely the source of the problem. You get a mouseout event when the mouse moves into an inner element. http://www.quirksmode.org/dom/events/mouseover.html

Suggestion, use a library. They abstract cross browser differences between the mouseenter and mouseleave events which do not bubble. http://api.jquery.com/mouseenter/

ライブラリを使用しない場合は、カウンタを修正する前に追跡中のdiv内にマウスがあるかどうかを確認する必要があります。あなたが持っているコードを表示すると、それを修正する方法を簡単に示すことができます。

0
追加された
私は問題に遭遇していない。これが可能かなのか疑問に思うだけです。現在、私のコードは正常に動作します。
追加された 著者 Vilx-,

私は似たようなことが起こっている..私を夢中にさせる。私は、少なくとも私の場合は、イベントのバブリングと関係があるかもしれないという仮説/結論に達しました。 jqueryを使用していますか?それは価値があるかもしれませんが、あなたは本当に保証が必要な場合は、非圧縮ライブラリ..を歩いてください。さもなければ、あなたのコードが十分に柔軟であれば、あなたはそれを回避することができます。これは私がやったことです。

0
追加された
あなたは私にアイデアをくれました - 投稿編集を見てください。
追加された 著者 Vilx-,
はい、あなたの編集はより明確で、私が何を得ていたのかを知ることができます。このようなことのために "見張りに"なることは良いことです。
追加された 著者 snapfractalpop,
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript