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 回答