1

所以我有这个菜单:

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

根据我的谷歌搜索,它应该可以工作,但每次我点击它时都会出现这个错误: 在此服务器上找不到请求的 URL /mainsite/what-we-do

感谢您的任何帮助。

4

1 回答 1

1

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

$("#body-nav .menu2 > a").click(function (event) {
    history.pushState("", "What We Do", $("#body-nav .menu2 > a").attr("href"));
    event.preventDefault(); // <==
});
于 2013-09-20T15:28:26.813 回答