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