以下 onclick 的触发次数是上一次点击的两倍。换句话说,当我第一次单击它时,它会按预期工作并且只触发一次。但是当我再次单击(在同一行或另一行)时,它会触发两次。如果我第三次点击它会触发 8 次然后 16 次然后 32 次。这是怎么回事?
calcTotals: function (table){
var totals=[];
$(table).find('tbody').children('tr').each(function(r,row){
$(row).on('click',function(e){
$(this).toggleClass('selectedForTotal');
$(table).find('tbody').children('tr:last').remove();
dialog.calcTotals(table);
e.stopPropagation();
return false;
})
if($(row).hasClass('selectedForTotal')){
$(this).children('td').each(function(c,cell){
if($(cell).hasClass('realNumber')){
cell.style.textAlign='right';
cell=$(cell).html().replace(/,/g,'').replace('(','-').replace(')','');
if (!totals[c]) totals[c]=0;
totals[c]+=parseFloat(cell);
$(cell).val(formatNumber(cell,2,false,true,true));
}else {cell.style.textAlign='left';}
})
}
})
var newRow=$('<tr>').appendTo($(table).find('tbody'))
.attr({'id':'totals','class':'highlightRow','tabIndex':'1'})
.on('click',function(i,item){
$(this).toggleClass('highlightRow');
}).css('cursor','pointer');
console.log('total : '+totals);
$(totals).each(function(i,item){
$('<td>').html(item? formatNumber(totals[i],2,false,true,true):'').appendTo(newRow);
})
$(newRow).focus();
}