Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 包含tr后输入丢失事件_Jquery_Events_Dom_Bind - Fatal编程技术网

Jquery 包含tr后输入丢失事件

Jquery 包含tr后输入丢失事件,jquery,events,dom,bind,Jquery,Events,Dom,Bind,我正在使用.on()方法将以下事件绑定到输入: $('table.transactions tbody input').on({ "focus": function (e) { $(this).closest('tr').addClass('active'); }, "blur": function (e) { $(this).closest('tr').removeClass('active'); } }); 当我在表中包含一个新tr时,新输入会丢失焦点并模糊事件: $('.

我正在使用
.on()
方法将以下事件绑定到输入:

$('table.transactions tbody input').on({
    "focus": function (e) { $(this).closest('tr').addClass('active'); },
    "blur": function (e) { $(this).closest('tr').removeClass('active'); }
});
当我在表中包含一个新tr时,新输入会丢失焦点并模糊事件:

$('.btn').on('click', function (e) {
    var $tr = $(this).closest('tr');
    $tr.after('<tr><td><input type="text" /><a href="" class="btn">Add Tr</a></td></tr>');
    e.preventDefault();
    return false;
});
$('.btn')。在('click',函数(e)上{
var$tr=$(this.closest('tr');
$tr.after(“”);
e、 预防默认值();
返回false;
});

当我使用
.on()
方法时,新输入的焦点和模糊事件不应该自动显示?如果没有,如何再次绑定事件?

尝试对稳定元素使用委派来拾取新添加的元素

$(document).on('click', '.btn', function(e) {
    // event data here
}
您可以将
文档
更改为包含元素,可能是包含要添加的
的表


ref:

尝试对稳定元素使用委派来拾取新添加的元素

$(document).on('click', '.btn', function(e) {
    // event data here
}
您可以将
文档
更改为包含元素,可能是包含要添加的
的表


ref:

btn的点击事件工作正常,问题出在输入模糊和焦点事件上。我使用:$('table.transactions tbody')。在('focus','input',function(e){btn的点击事件工作正常,问题出在输入模糊和焦点事件上。我使用:$('table.transactions tbody')。在('focus','input',function(e)上{关键字是“事件授权”(我知道有两个),见@Steven Vondruska的回答关键字是“事件授权”(我知道有两个),见@Steven Vondruska的回答