0

这是网站:http ://whatshot.hk/

我做了一点 JQuery 代码,当我点击“fire”时,它会加 1。

但是不知道为什么,当我单击列表末尾的火时,它永远不会立即改变,但是当我刷新时它会起作用。

$(document).ready(function () {
    // update good
    $(".fire").live('click', function (event) {

        var HOT = $(this).find(".fireNumber").attr("id");
        var addHOT = parseInt(HOT) + 1;
        var postID = $(this).attr("id");

        //$(this).find(".fireNumber").removeClass('fireNumber').addClass('fireNumbered');

        if (HOT) {
            $.ajax({
                type: "POST",
                dataType: "json",
                url: "rating_process.php",
                data: {
                    rating: addHOT,
                    postID: postID
                },
                cache: false,
                success: function (data) {
                    if (data['status'] == 1) {
                        $('#' + postID).find(".fireNumber").html(addHOT);
                    } else if (data['status'] == 3) {
                        alert("請先登入");
                    } else {
                        alert("error");
                    }
                }
            });
        } else {
            alert("error!");
        }

        return false;
        event.preventDefault();
    });
});
4

1 回答 1

1

首先.live(),如果您使用的是 jQuery 1.7+,则不推荐使用该函数。您没有更新.html()元素的。

$(".fire").on('click', function (event) {
    var HOT = $(this).find(".fireNumber").attr("id");
    $(this).find(".fireNumber").children(".fireNumber").html($(this).find(".fireNumber").html() + 1);
    var addHOT = parseInt(HOT) + 1;
    var postID = $(this).attr("id");
...
于 2013-06-17T02:20:59.607 回答