单击“#section”链接时,如何阻止浏览器滚动到顶部

时间:2010-08-20 17:41:39

标签: javascript html

我有以下链接:

<a href="#section">Section</a>

现在我真的希望此链接正常工作,以便将网址更改为

mypage.html#section

但另一方面,如果我只保留代码,浏览器会自动将页面滚动回顶部,我不希望这种情况发生。

显然return false;是不够的,因为它不会改变网址。

有什么想法吗?

(感谢)

1 个答案:

答案 0 :(得分:3)

您正在尝试单击与哈希绑定的锚点。这将尝试跳转到具有该名称的适当元素。如果它没有找到该名称,它将最终位于顶部。这是正常行为。

您似乎想要更改它,我建议不要使用和锚定并通过JavaScript添加#section哈希:

<a href="#" onclick="document.location.hash = '#section'; return false;">Section</a>

这应该会给你你想要的结果。