状態を使用して、ユーザーがクリックしたリンクを順番に覚えています。現在、私は状態情報を警告したいだけですが、このコードはどういうわけか機能しません:
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));
});
アラートは「未定義」と出力するだけで、少し役に立たなかったいくつかのドキュメントに従いました。