Это странно, я в шоке, я никогда не замечал этого раньше. Он работает так, если ваша мышь по-прежнему и div программно перемещается под мышью, событие mouseover не будет запускаться в chrome/safari - то же самое касается mouseout. Конечно, если вы немного двигаете мышью, как только div перемещается под мышью, он будет работать, как ожидалось.
Я создал демонстрацию на jsFiddle. Просто позвольте div колебаться под мышью, отлично работает в firefox, а не в хроме или сафари, - еще нужно проверить, например.
Я склоняюсь к этому решению... в основном переворачивая свои собственные мыши и мышиные события, используя это:
if (mouseX > divLeft && mouseX < divRight &&
mouseY > divTop && mouseY < divBottom){
// mouse is inside div
}
Я говорю "мыши" и уезжаю, потому что этот метод не будет пузыряться
Мне было интересно, есть ли у кого-то еще мысли об этом... У меня есть ощущение, что вокруг есть простой способ, но до сих пор Google ничего не изменил.