以下的onclick大火究竟雙重時間比以前的點擊。換句話說,當我第一次點擊它時,它按預期工作,並且只觸發一次。但是當我再次點擊(在同一行或另一行上)時,它會發生兩次。如果我第三次點擊,它會點燃8次,然後是16次,然後是32次。這是怎麼回事?的jQuery的onclick火災兩倍多以前的點擊
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();
}
謝謝。謎團已揭開。 –