Jquery заставляет плагин Rateit (звезда) работать для добавленных элементов - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть код оценки:

$('div.rateit').rateit();

Я хочу, чтобы он также функционировал для добавленных элементов.

Вот плагин: http://rateit.codeplex.com/

Ответы [ 3 ]

3 голосов
/ 12 октября 2015

Работает! :

Если вы посмотрите на источник плагина rateit (src / jquery.rateit.js), вы увидите, что в конце файла появляется вызов:

//invoke it on all .rateit elements. This could be removed if not wanted.
$(function () { $('div.rateit, span.rateit').rateit(); });

Вам нужно снова вызвать эту функцию после загрузки или добавления элементов.

В моем случае я использовал jQuery.ajax (...) и при загрузке новых элементов с классом css 'rateit' он не работал. Теперь они делают с этой строкой внутри ответа ajax:

<script type="text/javascript">          
jQuery(document).ready(function(){
    jQuery('div.rateit, span.rateit').rateit(); 
});
</script>
1 голос
/ 28 февраля 2012

Поскольку вы добавляете новые элементы на стороне сервера, просто добавьте класс CSS rateit к каждому добавляемому элементу. Предполагая, что вы хотите сделать элементы div только объектом rateit, ваш существующий код jQuery будет работать.

0 голосов
/ 28 февраля 2012

Кажется, вам может понадобиться использовать jQuery on () метод , например:

  $('div.rateit').on('event which triggers the rateit()', rateit);
...