pushState不工作

时间:2013-09-20 15:19:35

标签: javascript html5 pushstate

所以我有这个菜单:

<ul id="body-nav">
                <li class="menu1"><a href="#">Meet The Team</a></li>
                <li class="menu2"><a href="what-we-do">What We Do</a></li>
                <li class="menu3"><a href="#">See Us In Action</a></li>
                <li class="menu4"><a href="#">Get In Touch</a></li>
            </ul>

事情是,我想使用“pushState”事件来更改我的网站的URL,因为该网站很大程度上依赖于javascript。 在我的脚本中,代码是:

$("#body-nav .menu2 > a").click(function () {
    history.pushState("", "What We Do", $("#body-nav .menu2 > a").attr("href"));
});

根据我的谷歌搜索,它应该工作,但每次我点击它出现此错误: 在此服务器上找不到请求的网址/主页/我们做什么

谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您必须取消链接的默认操作。

$("#body-nav .menu2 > a").click(function (event) {
    history.pushState("", "What We Do", $("#body-nav .menu2 > a").attr("href"));
    event.preventDefault(); // <==
});