@Mr_Boombastic

Почему не срабатывает смена стиля, привязанная к mouseout, при переходе от родительского узла к дочернему?

Добрый день!
Для элемента установлены обработчики на mouseover/mouseout, которые при наведении курсора меняют цвет элемента.
Следуя логике, описанной здесь издесь, смена цвета должна происходить и при перемещении курсора с родительского узла на дочерний.
У меня почему-то скрипт работает не так, как ожидалось. FF 34.05, Chrome 39 и Safari 7.1.2 производят смену цвета только когда курсор полностью выходит за пределы элемента.
Посмотреть код на фиддле
  • Вопрос задан
  • 2333 просмотра
Решения вопроса 1
mlnkv
@mlnkv
JavaScript Developer
Потому что при переходе от родительского узла к дочернему не происходит mouseout, мышка так и находится над родительским элементом. Но можно запретить распространение события, и тогда все будет ок

jsfiddle.net/zv044qaL/4
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
effetto
@effetto
.Net разработчик
Для смены стилистики элемента используйте псевдокласс css :hover. События мыши созданы не для таких задач. Сам сталкивался с ситуацией, кода mouseout не отрабатывает корректно. Обновление браузера решало эту проблемму, но нельзя надеяться на то, что у всех пользователей будут современные браузеры.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы