2013-09-22 38 views
0

我正在使用狀態來記住用戶點擊了哪些鏈接。目前,我只是想提醒狀態信息,但是這個代碼不知何故不起作用:使用JQuery檢索瀏覽器狀態信息

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

警報只是打印「未定義」,我跟着幾個文檔,這並沒有幫助一點。

回答

1

嘗試改變

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

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

正如this question

+0

它可以作爲目前預計所提到的,儘管它仍然是一個有點陰暗的我爲什麼jQuery的不能正常工作。 .. – ranisalt