livequery не привязывается после вставки DOM - PullRequest
0 голосов
/ 27 марта 2011

Я не понимаю, почему livequery не связывает событие, но я должен использовать .click Это всего лишь пример, который также может использовать .click (), но в реальном коде я вынуждениспользуйте livequery.Кто-нибудь знает, почему не работает livequery?



function bind_remove(comment){
    var id = comment.attr('comment_id');    
    comment.find(".remove").livequery("click", function(e){    
        $.post("/deleteComment", {id: id}, function(response){
            comment.remove();
            comments = comments_container.find('.comment');
        });    
    });
}

$(document).ready(function(){    

    var comments_container = $('#comments_container');
    var comments = comments_container.find('.comment');

    comments.each(function(){
        bind_remove($(this));
    });

    $(".submit_button").livequery("click", function(e){
    $.post("/newComment", {text: textarea.val()}, function(response){                    
        comments_container.last().append($(response).fadeIn('slow',function(){                    
                comments = comments_container.find('.comment');
                bind_remove(comments.last());                            
            }));
        });
    });
});


Ответы [ 2 ]

0 голосов
/ 04 мая 2011

Я добавил случайный идентификатор в последний комментарий, затем выбрал его с помощью $ ('# myid'), не используя 'last ()'.Затем я связал его и начал работать

0 голосов
/ 27 марта 2011

Попробуйте заменить

comment.find(".remove").livequery("click", function(e){

с этим

comment.find(".remove").live("click", function(e){
...