jQuery .on("click"...),动态创建的元素不起作用

Mr.*_*ing 1 javascript jquery

所以我使用jQuery".on"函数和动态创建的元素有一些令人不安的结果,我使用的代码是这样的:

这在运行时有时会随机调用:

$(".activity-feed").append('<div class="feed-story big-feed-story feed-story-comment multiline-feed-story">\
        <div class="photo-view inbox-size photo-view-rounded-corners">\
            <div class="comment-icon">\
            </div>\
        </div>\
        <div class="comment-content">\
            <div class="delete ucomment-delete click-target" id="ucomment-'+uqid+'" tabindex="-1" style="outline:none;"></div>\
            <span class="feed-story-creator"><a href="/user/'+uid+'/'+username+'">'+username+'</a>&nbsp;</span>\
                <span class="comment-text">\
                    <span>\
                        <span style="white-space: pre-wrap;">'+$(".comment-box").html()+'</span>\
                    </span>\
                </span>\
            <div>\
                <span class="feed-story-footer"><span class="story-timestamp-view">'+time+'</span></span>\
            </div>\
        </div>\
    </div>');
Run Code Online (Sandbox Code Playgroud)

然后这个函数应该允许删除注释(它在页面底部定义,而不是在文档就绪后)

$(".delete").on("click", function() {
    alert('test....');
});
Run Code Online (Sandbox Code Playgroud)

不过,我点击"ucomment -删除"按钮,并没有任何反应:(,但是如果我点击在那里上载的意见,它的工作原理
这是为什么?我在做什么错?

Aru*_*llu 10

尝试事件委托

$(document).on("click", ".delete", function() {
 alert();
});
Run Code Online (Sandbox Code Playgroud)