1
我有一個動態表,用戶可以在其中添加和刪除行。當用戶點擊一個按鈕添加一行時,我想插入一個存儲的jQuery對象,它是初始表格行.baseRow
的副本。在這一行中,我也希望有一個委託單擊事件保持活動狀態以用於將來添加的行。複製存儲的jQuery對象,同時保持委派事件
但是,有兩個問題展示了我目前的實現(在Chrome/IE中測試)。首先是點擊處理程序在第一個事件被觸發後中斷。我可以通過在.clone()
之後鏈接.html()
來解決此問題,但是當我這樣做時,克隆被莫名其妙地剝離了父元素tr
,並且簡化爲僅兒童元素。
的問題,或下面的代碼示例的例子見this js fiddle:
JS
$('document').ready(function(){
var $baseRow = $('.baseRow').clone(true,true);
$('table').delegate('.addRow','click',function(){
$('tbody').append($baseRow);
});
});
HTML
<table>
<thead>
<tr>
<th>Add Row</th>
<th>Header 1</th>
<th>Header 2</th>
</tr>
</thead>
<tbody>
<tr class="baseRow">
<td class="addRow">+</td>
<td>Body 1</td>
<td>Body 2</td>
</tr>
</tbody>
</table>
這很有趣!我的印象是,一個克隆可以用於多個拷貝,因此一旦我更加高效,就可以克隆。 – Moses
@Moses:基本上,你所謂的「複製」就是「克隆」。 '.clone()'只是給你一個像原始的單個新元素 - 克隆沒有「特殊」功能或其他東西。 – pimvdb
沒錯,我只是希望它的行爲與傳統操作系統中的複製/粘貼行爲類似,複製粘貼在多個粘貼中。但是,似乎並非如此。 – Moses