javascript - 每次生成动态行,同时关注最后一行元素

标签 javascript jquery html

我有一张 table 。当我关注最后一行元素时,我想复制表格的最后一行并将其附加到最后一个位置。我可以按照我的代码做到这一点。

现在,这个新行成为我的最后一行。此后,我无法在单击其元素时生成行。事实上,它会在单击上一行(之前的最后一行)时生成行。

我怎样才能实现它?

$('.ankita').focus(function(){  

  var $tr    = $(this).closest('.trbar');
    var $clone = $tr.clone();
    $clone.find(':text').val('');
    $tr.after($clone);

$(this).removeClass("ankita");

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<table id='tbl'>
    <tbody>
        <tr>
            <td>
                <p>Cell1</p>
            </td>
            <td>
                <p>Cell2</p>
            </td>
        </tr>
        <tr class="trbar">
            <td>
                <p>Cell3</p>
            </td>
            <td>
                <input id="" class="ankita" type="text" />
            </td>
        </tr>
    </tbody>
</table>

最佳答案

您只需要创建一个委托(delegate)事件监听器,它只会对最后一行的焦点事件使用react。

$('#tbl').on('focus', 'tr:last .ankita', function(){  

  var $tr    = $(this).closest('.trbar');
    var $clone = $tr.clone();
    $clone.find(':text').val('');
    $tr.after($clone);

$(this).removeClass("ankita");

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<table id='tbl'>
    <tbody>
        <tr>
            <td>
                <p>Cell1</p>
            </td>
            <td>
                <p>Cell2</p>
            </td>
        </tr>
        <tr class="trbar">
            <td>
                <p>Cell3</p>
            </td>
            <td>
                <input id="" class="ankita" type="text" />
            </td>
        </tr>
    </tbody>
</table>

关于javascript - 每次生成动态行,同时关注最后一行元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55241444/

相关文章:

javascript - 使用 jquery/javascript 检测文本输入框中的变化

jquery - 如何将字符串转换为 Jquery 中的可访问属性以使功能动态化

javascript - 我不明白为什么页面会跳到顶部

javascript - 停止刷新表单

Javascript 时差计算

javascript - 我如何获取按下的每个键的值并使用 jQuery 在变量中使用它?

javascript - 根据两个下拉列表的默认值禁用按钮

html - 如何在 CSS 中垂直居中动态高度的单元格?

javascript - 如何创建覆盖以在页面加载时自动加载?

javascript - 创建一个循环来读取文本文件或实时更改