我正在使用这个插件jrating。 https://github.com/alpixel/jRating。
HTML
<button class="btn">ADD</button>
<div id="doc"></div>
JQUERY
$(document).on('click', '.btn', function () {
$('#doc').append('aaa<div class="rating" id="0_5"></div>');
$('.rating').jRating();
});
$('.rating').jRating();
当我动态添加新的div到doc。如果我在点击功能中不使用$('.rating').jRating();
,则不会显示评分。
问题:当我动态追加四个div并点击第一个附加的div时,ajax会触发4次。这继续4所有其他元素。比如点击第3个附加div 3次,第2次2次。不知道为什么会发生这种情况
答案 0 :(得分:5)
当您在点击处理程序中执行$('.rating').jRating();
时,您会一次又一次地初始化页面中存在的所有rating
元素的插件,而不是仅为新元素初始化
$(document).on('click','.btn',function(){
$('aaa<div class="rating" id="0_5"></div>').appendTo('#doc').jRating();
});