This question already has answers here:
Event binding on dynamically created elements?
                                
                                    (23个答案)
                                
                        
                                5年前关闭。
            
                    
我有一个文本框,如果您输入并单击该按钮,它将生成一个带有“删除文本”的复选框。

我不知道为什么我的点击功能不起作用,它根本没有任何作用。像这样的smtg:

$( "#addMemberEmail" ).click(function() {
    if(jQuery.trim($('#mListMemberEmail').val()).length > 0) {
        var checkboxId = "checkbox_" + $('#mListMemberEmail').val();
        var checkbox = '<tr><td><input type="checkbox" id="' +
                         checkboxId + '" value="' + $('#mListMemberEmail').val() +
                         '" checked/></td><td>' + $('#mListMemberEmail').val() +
                         '</td><td><div class="btndel" id="abc">delete</div></td></tr>';
        $('#group').append(checkbox);

        //reset textbox
        $('#mListMemberEmail').val('');
    } else {
        alert("Please enter an email address");
    }
});

//why this is does not work?
$( ".btndel" ).click(function() {
    alert("Aaa");
});


我在这里创建jsfiddle:

http://jsfiddle.net/vABvy/39/

如果您也可以向我展示删除功能,那将是很好的。
应该是单击删除按钮,它会删除复选框,具体取决于单击了哪个删除按钮。

最佳答案

去做

$(document).on("click",".btndel", function() {
    alert("Aaa");
});


来避免与元素正确链接的任何问题,这些问题可能在脚本尝试链接时在DOM上不存在

10-05 20:41
查看更多