提交评论不适用于新添加的帖子

submitting comment not working on newly added post

本文关键字:添加 评论 不适用 适用于 新添加 提交      更新时间:2023-09-26

我有帖子添加功能,可以添加帖子,也可以对帖子发表评论,问题是评论对现有帖子很有效,但当你添加新帖子,并对新添加的帖子发表评论时,它就不起作用了。这是我的http://jsfiddle.net/testtracker/Nh2NQ/
首先检查评论对现有帖子是否有效,然后添加一个帖子,现在尝试对新添加的帖子进行评论。。它不起作用。。。这里有什么问题。请帮助

感谢

试试这个:http://jsfiddle.net/Nh2NQ/5/

我换了这条线

$('.comment_entry form').submit(function (e) {
});

进入

$('body').on('submit', '.comment_entry form', function (e) {
    ...
});

因此,使用事件委派,您还可以将提交处理程序附加到动态插入的form元素。您可以随意更改body,使其与其他一些常见的父级在层次结构上"更接近"您的元素

这只会向评估选择器时找到的元素添加一个侦听器:

$('.comment_entry form').submit( ...

此时您的新表单不存在,因此没有注册侦听器。

改为使用实时代理:

$('#posts').on('submit', '.comment_entry form', function(e) { ... });

JQuery在页面加载时将事件绑定到元素,所以这就是为什么在新添加的元素上没有触发事件,因为没有与它们绑定的事件。

这在任何情况下都肯定有效

$('#posts').on('submit', '.comment_entry form', function(e) {
         code to add comment.....
 });

这是因为jQuery在元素存在之前初始化提交事件。当您添加新的.comment_entry form时,jQuery并不知道它,提交事件也没有绑定到这个特定的元素。

此链接可能会对您有所帮助。