MouseOver MouseOut проблема в Safari / Chrome - PullRequest
10 голосов
/ 27 января 2011

Это странно, я в шоке, я никогда не замечал этого раньше. Это работает так, если ваша мышь неподвижна, а 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 ничего не нашел.

1 Ответ

3 голосов
/ 27 января 2011

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

Эта ошибка может показаться вам интересной.

...