我有帖子添加功能,可以添加帖子,你可以评论帖子,问题是评论在现有帖子上工作正常,但是当你添加新帖子,并对新添加的帖子发表评论时,它不起作用。这就是我所拥有的http://jsfiddle.net/testtracker/Nh2NQ/
首先检查评论在现有帖子上是否正常,然后添加帖子,现在尝试评论新添加的帖子..它不起作用...这里是什么问题。请帮忙
感谢
答案 0 :(得分:2)
试试这个:http://jsfiddle.net/Nh2NQ/5/
我改变了这一行
$('.comment_entry form').submit(function (e) {
});
进入
$('body').on('submit', '.comment_entry form', function (e) {
...
});
因此,使用事件委派,您还可以将提交处理程序附加到动态插入的form
元素。随意更新body
与其他一些共同的父级,更接近“元素”
答案 1 :(得分:2)
这只会为评估选择器时找到的元素添加一个侦听器:
$('.comment_entry form').submit( ...
此时您的新表单不存在,因此未注册任何侦听器。
改为使用现场代表:
$('#posts').on('submit', '.comment_entry form', function(e) { ... });
答案 2 :(得分:1)
JQuery在页面加载时将事件绑定到元素,因此这就是为什么在新添加的元素上没有触发事件时,因为没有与它们绑定的事件。
这肯定会在任何情况下都有效
$('#posts').on('submit', '.comment_entry form', function(e) {
code to add comment.....
});
答案 3 :(得分:0)
这是因为jQuery在元素存在之前初始化submit事件。当您添加新的.comment_entry form
时,jQuery不知道它,并且提交事件未绑定到此特定元素。