所以我有这个菜单:
<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"));
});
根据我的谷歌搜索,它应该工作,但每次我点击它出现此错误: 在此服务器上找不到请求的网址/主页/我们做什么
谢谢你的帮助。
答案 0 :(得分:1)
您必须取消链接的默认操作。
$("#body-nav .menu2 > a").click(function (event) {
history.pushState("", "What We Do", $("#body-nav .menu2 > a").attr("href"));
event.preventDefault(); // <==
});