Question

J'ai du code de notation:

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

Je veux qu'il fonctionne également pour des éléments supplémentaires.

Voici le plugin: http://rateit.codeplex.com/

Était-ce utile?

La solution

Il semble que vous devriez peut-être utiliser jQuery sur () méthode, comme ça:

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

Autres conseils

Ça marche! :

Si vous jetez un œil à la source du plugin Rateit (src / jquery.rateit.js), vous verrez qu'à la fin du fichier apparaît l'invocation:

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

Ce que vous devez faire est d'invoquer à nouveau cette fonction une fois que vous avez chargé ou ajouté des éléments.

Dans mon cas, j'utilisais jQuery.ajax (...) et lors du chargement de nouveaux éléments avec la classe CSS «Rateit», cela ne fonctionnait pas. Maintenant, ils le font avec cette ligne à l'intérieur de la réponse Ajax:

<script type="text/javascript">          
jQuery(document).ready(function(){
    jQuery('div.rateit, span.rateit').rateit(); 
});
</script>

Puisque vous ajoutez le côté du serveur des nouveaux éléments, ajoutez simplement la classe CSS rateit à chaque élément que vous ajoutez. En supposant que vous voulez seulement faire le div éléments a rateit Objet, votre code jQuery existant fonctionnera.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top