我將有一個link
「編輯」,您可以點擊修改某些字段。現在點擊鏈接後,編輯鏈接應禁用。我試圖通過添加類editing
來實現。所以,如果.not('.editing')
運行的代碼的其餘部分...但我可以點擊兩次jQuery的。不是()和:不是()不工作
我做了什麼錯?感謝您的收看,並幫助 - >Fiddle http://jsfiddle.net/s1v8n2Ld/
$('.edit-product').not('.editing').on('click', function(e){
e.preventDefault();
$(this).addClass("editing")
var $table = $(this).closest('table');
$table.find('.editable').each(function(i){
var content = $(this).html().trim();
$(this).wrapInner('<input type="text" name="" placeholder="'+content+'">');
});
});
$('.edit-product2:not(.editing)').on('click', function(e){
e.preventDefault();
$(this).addClass("editing")
var $table = $(this).closest('table');
$table.find('.editable').addClass('xxxx');
$table.find('.editable').each(function(i){
var content = $(this).html().trim();
$(this).wrapInner('<input type="text" name="" placeholder="'+content+'">');
});
});
<table border="1" style="border-collapse:collapse;">
<tr>
<td>
ID
</td>
<td>
18
</td>
<td rowspan="4">
<a href="/app_dev.php/edit/ 18" class="edit-product">Edit</a>
</td>
</tr>
<tr>
<td>
Name
</td>
<td class="editable">
New product name!
</td>
</tr>
<tr>
<td>
Price
</td>
<td class="editable">
19.99
</td>
</tr>
<tr>
<td>
Description
</td>
<td class="editable">
Lorem ipsum dolor
</td>
</tr>
</table>
<table border="1" style="border-collapse:collapse;">
<tr>
<td>
ID
</td>
<td>
18
</td>
<td rowspan="4">
<a href="/app_dev.php/edit/ 18" class="edit-product2">Edit</a>
</td>
</tr>
<tr>
<td>
Name
</td>
<td class="editable">
New product name!
</td>
</tr>
<tr>
<td>
Price
</td>
<td class="editable">
19.99
</td>
</tr>
<tr>
<td>
Description
</td>
<td class="editable">
Lorem ipsum dolor
</td>
</tr>
</table>
或者更好,請檢查元素是否在處理程序中編輯了類。 – 2014-09-03 12:59:43
@ Karl-AndréGagnon爲什麼這樣更好? – caramba 2014-09-03 13:11:03
@ Karl-AndréGagnon也爲答案添加了解決方案。 – Anton 2014-09-03 13:11:59