我有以下代碼片段。Jquery .live問題
HTML(簡化):
<tr>
<td><div id="insert_24" class="insert">Invoegen</div></td>
</tr>
在其上JS功能正在運行(簡化)來檢索從表單中的數據,將其添加到數據庫中,然後用正確的類更新的形式/表&的ID:
$(".insert").click(function() {
// current field, is the id: insert_24
// layer is retrieved in the function: 24
// Full table has the id 'canvas'
// do something
// Insert into database
console.log('insert-'+layer);
$("#"+ current_field).removeClass("insert").addClass("delete").html('delete').attr('id', 'delete_'+layer);
$("table#canvas tr:last").attr('id', 'row_'+layer);
});
後直接這段代碼我也有代碼,以刪除線(簡體):
$(".delete").live("click", function() {
// do something
// Insert into database
console.log('delete-'+layer);
$("#row_"+ layer).remove();
});
插入工作正常,但是當我查看控制檯日誌函數時,在'insert'上,'delete'函數在插入後直接觸發,這是沒有意義的。我只點擊了<div>
一次。
我錯過了哪個步驟/設置讓此功能以正確的方式工作?
jsfiddle please? - > http://jsfiddle.net/ – hjpotter92 2013-02-23 11:20:12
僅供參考,您可以用'$(this)'替換'$(「#」+ current_field)'。 – 2013-02-23 11:22:41