javascript - 检查稍后将创建的对象的点击

标签 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');
    });
});

当我点击“btn2”时什么也不会发生。我想那是因为 $(document).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>;
    });
});

想法?

最佳答案

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

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

关于javascript - 检查稍后将创建的对象的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15299425/

相关文章:

javascript - 使用 jScrollPane 时移动/重新定位滚动条

Jquery - 选择具有类的所有 tr 的 td 值

c# - 为 kendo ui Combobox 触发了两次更改事件

javascript - Chrome 上 iframe 中的分页符不起作用?

javascript - Chrome DevTools 命令行 API、jQuery、美元符号变量

javascript - jQuery 克隆表单字段消失

javascript - 如何找到CKeditor 4提供的可用事件列表?

javascript - Jquery Trigger 多次调用函数

javascript - iPhone视口(viewport)困惑/window.innerHeight

javascript - 使用 jQuery 以自由格式将数字输入到屏蔽的输入字段中