Задать вопрос
@denism300

Почему не срабатывает mouseleave?

Есть код:
jQuery('a.woosw-btn').html('<i class="fa fa-heart-o" aria-hidden="true"></i>');
jQuery('a.woosw-btn').mouseenter(function(e) {
        jQuery(this).html('<i class="fa fa-heart" aria-hidden="true"></i>');
}).mouseleave(function(e) {
        jQuery(this).html('<i class="fa fa-heart-o" aria-hidden="true"></i>');
});

событие mouseenter работает, а mouseleave нет. Как исправить?
  • Вопрос задан
  • 770 просмотров
Подписаться 2 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Наверное, элемент, к которому прицеплен обработчик события, полностью перекрывается вложенным элементом. А так как mouseleave не всплывает, обрабатывать нечего.

Цепляйте обработчики к вложенным элементам (конечно, придётся отказаться от их постоянного пересоздания).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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