0

ここにサイトがあります:http://whatshot.hk/

「火」をクリックするとプラス1になる小さなJQueryコードを作成しました。

しかし、リストの最後の火をクリックすると、すぐには変わらないが、更新すると機能する理由がわかりません。

$(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 に答える