Получение информации о состоянии браузера с помощью JQuery

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));
});

Предупреждение просто печатает "undefined", и я выполнил несколько документов, которые не помогли.

Теги:
state

1 ответ

1
Лучший ответ

Попробуйте изменить

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

в

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

Как упоминалось в этом вопросе

  • 0
    Теперь он работает, как и ожидалось, хотя для меня все еще не совсем понятно, почему jquery не работает ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню