append()连续多次追加

时间:2011-09-20 03:30:07

标签: jquery ajax append

我已经使用ajax函数设置了一个提交框,当成功时,我有函数.append()

问题是,当我尝试提交某些内容时,它会连续追加。例如:如果我第一次提交评论,它会正确追加,如果我在之后提交另一条评论(没有刷新页面),它会追加两次,如果我之后提交另一条评论,它会追加三次,等等等等。我该如何防止这种情况发生?

    var id = $(this).attr('id');
    $('#comments_'+id).keydown(function(e){
        if(e.keyCode == 13)
        {
            e.preventDefault();
            var comment = $(id).val();
            var comment = 'comment='+comment;

            $.ajax({
            type: "POST",
            url: "edit.php",
            data: comment,
            cache: false,
            success: function(data)
            {
                $('#commentSelect'+id).append(data);
            }

        }); 
                return false;

        }
    });

我已经设置好了,所以我可以提交

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

在不知道更多细节的情况下,我猜你会在每次ajax请求后加载这个javascript。每次运行它都会重新绑定事件。您需要每次加载时只加载一次,或者更改

$('#comments_'+id).keydown(function(e){

$('#comments_'+id).unbind('keydown').keydown(function(e){