私の質問をよりよく理解し、コードを確認するには、フィドルにアクセスしてください: http://jsfiddle.net/dnyXC/
アイコンをクリックできるスクリプト(以下)があり、テーブルが複製され、含まれているフォームでより多くの入力が可能になります。この問題は、アイコンを 1 回クリックして複製すると、位置に関係なくテーブルをクリックすると、テーブルが再び複製されることです。
document.getElementById('line-duplicate').onclick = duplicate;
var i = 0;
function duplicate() {
var original = document.getElementById('item-table' + i);
var clone = original.cloneNode(true); // "deep" clone
clone.id = "item-table" + ++i; // there can only be one element with an ID
clone.onclick = duplicate; // event handlers are not cloned
original.parentNode.appendChild(clone);
}
テーブルの html は次のとおりです。
<table class="table" id="item-table0">
<tr>
<td>Item Name</td>
<td>Qty/Hrs</td>
<td>Rate</td>
<td>Tax Rate</td>
<td>Type</td>
<td>Cost</td>
<td>Actions</td>
</tr>
<tr>
<td>
<input class="input-medium" type="text" name="" />
</td>
<td>
<input class="input-mini" type="text" name="" placeholder="1" />
</td>
<td>
<input class="input-mini" type="text" name="" placeholder="0.00" />
</td>
<td></td>
<td>
<select class="input-small" name="">
<option>Standard</option>
<option>Expense</option>
</select>
</td>
<td>$0.00</td>
<td><i class="icon-plus" style="cursor:pointer;" id="line-duplicate"></i> <i class="icon-trash pull-right"></i>
</a>
</td>
</tr>
無限の複製は問題ありません。問題は、フォームに別の項目を入力すると、テーブルが複製されることです。テーブルを複製する唯一の方法は、プラス アイコンをクリックすることです。
私の質問をよりよく理解し、コードを確認するには、フィドルにアクセスしてください: http://jsfiddle.net/dnyXC/