0

このプラグイン jrating を使用しています。https://github.com/alpixel/jRating .

HTML

<button class="btn">ADD</button>


<div id="doc"></div>

Jクエリ

$(document).on('click', '.btn', function () {
    $('#doc').append('aaa<div class="rating" id="0_5"></div>');
    $('.rating').jRating();
});
$('.rating').jRating();

新しいdivをドキュメントに動的に追加するとき。$('.rating').jRating();クリック機能を使用しないと評価が表示されません。

問題: 4 つの div を動的に追加し、最初に追加された div ajax をクリックすると、4 回起動します。これは他のすべての要素に続きます。3番目に追加されたdivを3回、2番目を2回クリックしたときのように。なぜこれが起こっているのかわからない

フィドル: http://jsfiddle.net/TFWXG/

4

1 に答える 1

5

クリックハンドラー内で行うと、新しい要素のみを初期化するのではなく、ページに存在$('.rating').jRating();するすべてのrating要素に対してプラグインを何度も初期化しています

$(document).on('click','.btn',function(){
   $('aaa<div class="rating" id="0_5"></div>').appendTo('#doc').jRating();    
});
于 2013-11-01T17:22:55.373 に答える