@KataGol

Почему не возникает событие mouseenter при наведении на ссылку с dropdow menu?

При наведении мыши на ссылку должен выпадать список, но код не срабатывает, ошибку не выдает.
https://jsfiddle.net/40fz3bp5/3/
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Неправильно расположен элемент .submenu, он должен находится внутри того же li, что и соответствующий ему .profile-menu-trigger.

Ну и не надо назначать новый обработчик mouseleave при каждом mouseenter, достаточно и одного раза:

$('.profile-menu')
  .on('mouseenter', '.profile-menu-trigger', function() {
    $(this).next('.submenu').fadeIn(500);
  })
  .on('mouseleave', 'li', function() {
    $(this).find('.submenu').fadeOut(500);
  });
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
fo_otman
@fo_otman
Веб-разработчик
Потому что повесили событие на скрытый элемент, вот и не работает.
$ ('#site-title'). on ('mouseenter', function () {
        let submenu = $ (this).parent ().find ('.submenu');
        submenu.fadeIn (500);

        $ ('#site-title'). on ('mouseleave', function () {
          submenu.fadeOut (500);
        });
    });
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы