Задать вопрос
@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 нет. Как исправить?
  • Вопрос задан
  • 771 просмотр
Подписаться 2 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Наверное, элемент, к которому прицеплен обработчик события, полностью перекрывается вложенным элементом. А так как mouseleave не всплывает, обрабатывать нечего.

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

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

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