マウスが内側の要素に移動するmouseOut
と、外側の要素のイベントが最初に発生し、次にmouseOver
内側の要素の要素が発生し、次にmouseOver
内側の要素の要素が最後に発生します。
なぜこれが起こるのですか?内側の要素は技術的にはまだ外側の要素の内側にあるため、マウスが内側の要素に移動しても外側の要素を離れません。それを防ぐ方法はありますか?
完全な例はこちら: http://jsfiddle.net/pMCeu/4/
マウスが内側の要素に移動するmouseOut
と、外側の要素のイベントが最初に発生し、次にmouseOver
内側の要素の要素が発生し、次にmouseOver
内側の要素の要素が最後に発生します。
なぜこれが起こるのですか?内側の要素は技術的にはまだ外側の要素の内側にあるため、マウスが内側の要素に移動しても外側の要素を離れません。それを防ぐ方法はありますか?
完全な例はこちら: http://jsfiddle.net/pMCeu/4/
これを避けるには、mouseover と mouseout の代わりに mouseenter と mouseleave を使用する必要があります。
イベントバブリングによるものです。詳細については、この投稿をご覧ください。