4

我有帖子添加功能,可以添加帖子并且您可以评论帖子,问题是评论在现有帖子上工作正常,但是当您添加新帖子并评论新添加的帖子时,它不起作用。这是我有的http://jsfiddle.net/testtracker/Nh2NQ/
首先检查评论在现有帖子上是否正常,然后添加帖子,现在尝试评论新添加的帖子..它不起作用.. .这里有什么问题。请帮忙

谢谢

4

4 回答 4

2

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

我改变了这条线

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

});

进入

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

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

于 2012-08-28T12:59:12.887 回答
2

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

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

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

改为使用实时委托:

$('#posts').on('submit', '.comment_entry form', function(e) { ... });
于 2012-08-28T12:59:39.470 回答
1

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

这肯定会在任何情况下工作

$('#posts').on('submit', '.comment_entry form', function(e) {
         code to add comment.....
 });
于 2012-11-24T18:51:43.947 回答
0

这是因为 jQuery 在您的元素存在之前初始化了提交事件。当您添加 new.comment_entry form时,jQuery 不知道它,并且 submit 事件未绑定到此特定元素。

此链接可能对您有所帮助

于 2012-08-28T12:58:36.027 回答