2011-01-26 12 views
10

これは奇妙なものですが、私はこれまで気付かなかったことにショックを受けました。マウスが静止していて、divがプログラムの下でマウスの下を移動すると、mouseoverイベントはchrome/safariでトリガされません。マウスオーバーの場合も同様です。もちろん、divをマウスの下に動かすとマウスをわずかに動かすと、期待どおりに動作します。MouseOver Mouse Safari/Chromeで問題が発生する

私はdemo on jsFiddleを作成しました。 divをあなたのマウスの下で振動させ、firefoxでうまく動作します。クロムやサファリでは動作しません。

私は基本的に、この使用して独自のMouseEnterとmouseleaveイベントを転がり...このソリューションに向かって傾いている:このメソッドは、バブリング

を持っていないだろうので、私はMouseEnterイベント言うと残し

if (mouseX > divLeft && mouseX < divRight && 
    mouseY > divTop && mouseY < divBottom){ 
    // mouse is inside div 
} 

を他の誰かがこれについての考えを持っているのだろうかと疑問に思っていた。私はそれの周りに簡単な方法があると感じているが、これまでのところGoogleは何も変えていない。

+1

ちょっとチェックしました - IE 7はマウスが静止しているときに 'mouseover'または' mouseout'を起動しません。 – jball

+0

+1、かなり面白いです。 divの動きに合わせてマウスの位置を確認することで、javascriptでイベントをトリガすることは可能かもしれません。 – JCOC611

+0

クールなおかげで、私はちょうどVirtualBoxを試して起動していた – Zevan

答えて

3

https://bugs.webkit.org/show_bug.cgi?id=4117

あなたはこのバグは面白いかもしれません。

+0

非常にクールです。私はちょうどそのバグを推測する...私は他の解決策があるかどうか見るためにちょっと待つつもりだが、私はこれを正解とマークすることを確信している。 – Zevan

+0

オリジナルの質問で言及したテクニック以外の方法はありません。私はそれを使いました。 – Zevan

関連する問題