Jquery - 事件不适用于新创建的元素

时间:2010-02-27 12:52:43

标签: jquery-plugins jquery livequery

我有一个简单的评论部分,用户可以在其他用户的帖子上发表评论 - 它的工作方式非常适合用户可以在墙上写一些东西,而其他人可以对其进行评论。

所以我有这个表单,用户可以输入任何内容,当他提交时 - 该信息被插入到数据库中,并使用Jquery显示在表单下面的同一页面上。

现在这些帖子中的每一个都有旁边的评论链接。因此,当有人点击评论链接时,会出现一个小的textarea框,用户可以在其中输入内容并提交。

以前发布的项目一切都很好 - 除了新创建的元素上的注释链接没有打开文本框区域。

在搜索之后,我遇到了我实现的Livequery插件 - 但这对我来说似乎没有用 - 看起来我做错了。

这是我以前的代码:


    $(".comment_button").click(function(){                           
                var element = $(this);
                var I = element.attr("id");
                //alert("in="+I);; 
                $("#slidepanel"+I).slideToggle(300);
                $(this).toggleClass("active");
                return false;
            });

我将其更改为使用livequery:


   $('.comment_button').livequery('click',function(event) {                
                var element = $(this);
                var I = element.attr("id");
                //alert("in="+I);; 
                $("#slidepanel"+I).slideToggle(300);
                $(this).toggleClass("active");
                return false;
            });

这是评论的链接

<a id="<?php echo $data['shopping_id']?>" class="comment_button" href="<?php echo $data['shopping_id']?>">Comment</a>

感谢您的提示

1 个答案:

答案 0 :(得分:2)

您不需要livequery,只需live。将livequery替换为live,它应该可以正常工作。