2013-11-01 123 views
1

這裏上是代碼:http://jsfiddle.net/xcmtD/2/添加元素與類,然後觸發點擊功能元素

我創建一個動態表,並添加行,我點擊一個按鈕。其中一個字段有一個「刪除」類。

我想使用該字段刪除行,如果用戶點擊它,但它不起作用,我不知道爲什麼。

HTML:

<table id="table"> 
    <tr><td>Row 1</td><td class='remove'>Row 2</td></tr> 
</table> 

<input type="button" id="button" value="add"> 

的JavaScript(jQuery的):

$("#button").click(function(){ 
    $("#table").append("<tr><td>Added</td><td class='remove'>Remove</td></tr>"); 
}); 

$(".remove").click(function(){ 
    alert("Removed!"); 
}); 

回答

6

這是因爲當你做了綁定,該元素尚不存在。

使用代表團,以使選擇是動態的點擊測試:

$('#table').on('click', '.remove', function(){ 
    alert("Removed!"); 
}); 
+0

我用這個了很多後,它是忽視。它將綁定到表的一個點擊處理程序的子選擇「.remove」。這種被忽視的過載imo。 – Fallenreaper

+0

謝謝。它工作完美。我想了解更多。有什麼建議麼? – Memochipan

+1

@Memochipan JQuery的[文檔](http://api.jquery.com/on/)清晰,不會太長,可能是一個很好的閱讀。 –

0

請務必檢查庫進行委派。 直到jQuery的1.7.3功能將

$('#table').live('click', '.remove', function(){ 
    alert("Removed!"); 
}); 

$('#table').live('click', '.remove', function(){ 
    alert("Removed!"); 
}); 
+0

您是否在最後一個例子中指「開」? – Memochipan

+0

無論如何你必須檢查這個 – user2943601