0

状態を使用して、ユーザーがクリックしたリンクを順番に覚えています。現在、私は状態情報を警告したいだけですが、このコードはどういうわけか機能しません:

function onLinhaClick(obj) {
    $("#linha").children("a").off("click");
    history.pushState({ item : $(obj).attr("data-value") }, $(obj).children("span").html(), $(obj).attr("href"));
    $(obj).nextAll().remove();
    $("#linha").children("a").on("click", function(e) {
        e.preventDefault();
        onLinhaClick($(this));
    });
}

function onMateriaClick(obj) {
    $("#materias").children("a").off("click");
    history.pushState({ value : $(obj).attr("data-value") }, $(obj).children("span").html(), $(obj).attr("href"));
            /*some not important code*/
}

$(document).ready(function() {
    $("#linha").children("a").on("click", function(e) {
        e.preventDefault();
        onLinhaClick($(this));
    });
    $("#materias").children("a").on("click", function(e) {
        e.preventDefault();
        onMateriaClick($(this));
    });
});

$(window).on("popstate", function(e) {
    alert(JSON.stringify(e.state));
});

アラートは「未定義」と出力するだけで、少し役に立たなかったいくつかのドキュメントに従いました。

4

1 に答える 1

1

変更してみる

$(window).on("popstate", function(e) {
    alert(JSON.stringify(e.state));
});

window.onpopstate = function(e) {
    alert(JSON.stringify(e.state));
}

この質問で述べたように

于 2013-09-22T04:54:38.767 に答える