函数绑定和clone()函数 - Jquery

Sam*_*ghs 3 jquery binding clone function

克隆元素时我的键盘绑定有问题.这是场景:

我有一个这样的HTML标记:

<tr class="rijbasis">
   <td>
      <input type="text" class="count" />
   </td>
   <td>
       <span class="cost">10</span>
   </td>
   <td>
       <span class="total">10</span>
   </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我正在将一个keyup函数绑定到我的表行的input元素,如下所示:

$('.rijbasis input').keyup(function(){
    var parent = $(this).parent().parent();
     $('.total',parent).text(parseInt($('.cost',parent).text()) * parseInt($('.count',parent).val()));
}
Run Code Online (Sandbox Code Playgroud)

我设计了这样的函数,所以我可以在onclick事件上克隆表行并将其附加到tbody:

$('.lineadd').click(function(){
        $('.contract tbody').append($('.contract tbody tr:last').clone());
        $('.contract tbody tr:last input').val("0");
 });
Run Code Online (Sandbox Code Playgroud)

这可以工作,但是keyup函数不能对克隆行的输入元素起作用.

有人可以提供帮助或建议吗?我希望我足够清楚,如果需要解决这个问题,我肯定会添加细节.

问候

Rus*_*Cam 9

你有两个真正的选择

  • 使用clone(true)它也将克隆绑定的事件处理程序
  • 使用事件委托,live()以便事件处理程序绑定到父元素,因此新添加的行将获得相同的功能