Я уверен, что я что-то пропускаю, но я не могу заставить событие «mouseleave» запускаться после замены html в теге привязки, который запускал mouseenter.mouseleave не срабатывает после того, как mouseenter меняет HTML-код в ядре
Добавление кода здесь, но на самом деле это намного проще, если вы посетите приведенную ниже ссылку JSFiddle и наведите указатель мыши на значки звезд.
$(document).ready(function() {
$(document).on('mouseenter', '[id^=star-]', function() {
$('[id^=star-]').html('<span class="star star-empty"></span>');
}).on('mouseleave', '[id^=star-]', function() {
$('[id^=star-]').html('<span class="star star-full"></span>');
});
});
Пожалуйста, см JSFiddle here. Просто наведите указатель мыши на значки звезды, и вы увидите, что я имею в виду.
$ (документ) может быть неправильным селектором ... вы действительно хотите отслеживать движение мыши на документе? Почему бы не использовать звезды? –
Он объявляет селектор после события '[id^= star-]' –
Вы используете префиксные селектор атрибутов ('id^= ...') при переопределении содержимого html вместо селекторов суффиксов (например, 'id $ = - full') , – collapsar