检查稍后将创建的对象的单击

gub*_*ett 0 javascript jquery

好的,如果我有这样的jQuery:

$(document).ready(function(){
    $('#btn1').click(function(){
        //Add stuff to table
        $('#items_table tr:last').after('<tr><td><input type="button" id="btn2" value="second button" /></td>/tr>');
    });
    //Created button above is triggered
    $('#btn2').click(function(){
        alert('btn 2 was clicked');
    });
});
Run Code Online (Sandbox Code Playgroud)

点击"btn2"后什么都不会发生.我想那是因为$(文件).ready()时它不存在?如果我将btn2的js发送到表格行,它可以正常工作.这样的事情:

$(document).ready(function(){
$('#btn1').click(function(){
    //Add stuff to table
    $('#items_table tr:last').after('<tr><td><input type="button" id="btn2" value="second button" /><script type="text/javascript ..... BLAH $(\'#btn\').click BLAH </script>;
    });
});
Run Code Online (Sandbox Code Playgroud)

想法?

Den*_*ret 5

使用on让表将事件委托给稍后可能出现的元素:

$('#items_table').on('click', '#btn2', function(){
    alert('btn 2 was clicked');
});
Run Code Online (Sandbox Code Playgroud)