.html不能使用live()Jquery

时间:2013-07-31 22:12:51

标签: javascript jquery

我尝试使用方法live,它最初按预期工作,但是ajax'成功'回调在后续的函数运行中无法正常运行。

$(function () {
    $('.vote').live('click', function () {
        url = '".base_url()."post/vote';
        post_id = $(this).attr('id');

        $.ajax({
            url: url,
            type: 'POST',
            data: 'post_id=' + post_id,
            success: function (msg) {
                post = $('.num_vote' + post_id);
                vote = $('.votes' + post_id);
                $(vote).html(msg); // working only the first time
            }
        });
        return false;
    });
});

1 个答案:

答案 0 :(得分:0)

根据您使用的jQuery版本,您可能需要使用 .on 功能,因为在1.7中已弃用 .live() 并在1.9中删除。

$(function(){
    $('.vote').on( 'click', function() {
            url = '".base_url()."post/vote';
            post_id = $(this).attr('id');
            $.ajax({
                    url: url,
                    type: 'POST',
                    data: 'post_id=' + post_id,
                    success: function(msg) {                            
                        post = $('.num_vote' + post_id);
                        vote = $('.votes' + post_id);
                            $(vote).html(msg); // working only the first time

                    }
            });
            return false;
    });
});