jquery для fivestar

Главные вкладки

Аватар пользователя y-vo y-vo 27 ноября 2019 в 20:06

Приветствую. Работаю тут с кастомным виджетом для fivestar, необходимо сделать чтоб при наведении на звездочку в отдельном контейнере отображалось так сказать value, то есть оценка которую ты поставишь если нажмешь, это сделал так :

$(".star").mouseenter("mouseenter", function(){
            var value = parseInt($(this).attr('class').replace ( /[^\d.]/g, '' ));
            $("#rating-summary").html(value);
            }

        )
        $(".star").mouseleave(function(){
            var rating = parseFloat($(".field-name-field-rating .average-rating span").html());
            $("#rating-summary").html(rating);
            }

        )

Это работает, но только до того момента как поставишь оценку и отработает AJAX.
Поискал по теме информацию, нашел только предположение что события не срабатывают на элементах сгенерированных AJAX, переделал так:

$(".star").on("mouseenter", function(){
            var value = parseInt($(this).attr('class').replace ( /[^\d.]/g, '' ));
            $("#rating-summary").html(value);
            }

        )
        $(".star").on("mouseleave", function(){
            var rating = parseFloat($(".field-name-field-rating .average-rating span").html());
            $("#rating-summary").html(rating);
            }

        )

Но все это дело все равно не работает. Может я еще что то упускаю? С JS и jquery слабо знаком.

Лучший ответ

Аватар пользователя sas@drupal.org sas@drupal.org 28 ноября 2019 в 9:59
1

Чтобы "он" работал на вновь приехавший вешаться надо на документ

$(document).on('mouseenter', '.star', function( ...

Комментарии

Аватар пользователя y-vo y-vo 28 ноября 2019 в 17:41

<a href="mailto:sas@drupal.org">sas@drupal.org</a> wrote:
Чтобы "он" работал на вновь приехавший вешаться надо на документ

$(document).on('mouseenter', '.star', function( ...


Спасибо, помогло. Видимо не так понял.