UnluckySerivelha
@UnluckySerivelha

Почему повторно срабатывает событие mouseover, если курсор не покидает элемента?

Есть задача сделать, чтобы при наведении на блок срабатывала функция. Пытаюсь использовать mouseover. Но почему-то это событие срабатывает даже когда курсор перемещается внутри элемента по дочерним элементам, а нужно, чтобы только 1 раз при наведении и повторно только если курсор ушёл с элемента. Почему так? Как в таком случае решить задачу?
  • Вопрос задан
  • 54 просмотра
Решения вопроса 2
0xD34F
@0xD34F
Используйте mouseenter вместо mouseover. Ну и нелишним будет ознакомиться с вот этим.
Ответ написан
@DronTat
Использовать mouseenter
Обращаю Ваше внимание, что в отличие от события "mouseover", событие "mouseenter" срабатывает только тогда, когда указатель мыши входит в выбранный элемент. Событие "mouseover" срабатывает даже тогда, когда указатель мыши переходит с родительского элемента на дочерний (вложенный) и с дочернего элемента обратно на родительский не смотря на то, что указатель в этот момент не покидал пределы родительского элемента (event bubbling).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@frees2
var i = 0;
$('.item').on('mouseover',function(){$(this).remove();
  i++;
  $('#output').html(i);
})

mouseover решение иногда полезно для борьбы с ботами, ну вы поняли фокус. Это как входит, а как выходит вторая функция. На mouseenter так не получится
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы