我有帖子添加功能,可以添加帖子并且您可以评论帖子,问题是评论在现有帖子上工作正常,但是当您添加新帖子并评论新添加的帖子时,它不起作用。这是我有的http://jsfiddle.net/testtracker/Nh2NQ/
首先检查评论在现有帖子上是否正常,然后添加帖子,现在尝试评论新添加的帖子..它不起作用.. .这里有什么问题。请帮忙
谢谢
我有帖子添加功能,可以添加帖子并且您可以评论帖子,问题是评论在现有帖子上工作正常,但是当您添加新帖子并评论新添加的帖子时,它不起作用。这是我有的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 在您的元素存在之前初始化了提交事件。当您添加 new.comment_entry form
时,jQuery 不知道它,并且 submit 事件未绑定到此特定元素。