提问者:小点点

生成新的表行并捕获该行的单击JQuery


我正努力做到以下几点,

我在表中有一个表,我有一个带有按钮的输入当按钮被点击时,一个新的行被添加,然后我希望捕获对一个新行元素的任何点击。

<table id="mytable">
<tr>
    <td><input type="textbox" class="mytb"/></td>
    <td><button id="addButton">Add New Row</button></td>     
</tr>
</table>​

$(document).ready(function(){

// generate new row
$('#addButton').on('click', function(event){
  event.preventDefault();                 
  var newRow = '<tr><td><input type="text" class="newtb"/></td></tr>';
  $('#mytable').append(newRow);        
});

// capture click of new row?
$('.newtb').on('click', function(event){
    event.preventDefault();  
    alert('clicked');
});
});

JSFiddle示例

我陷入了这样的困境:创建了新行,但没有捕获click事件。

如果有人能给我指明正确的方向,我将非常感激,但请有人解释一下为什么会发生这种情况,因为我真的很想增加我的JavaScript知识。


共1个答案

匿名用户

$('body').on('click', '.newtb', function(event){
    event.preventDefault();  
    alert('clicked');
});

演示