当我点击链接时,我的网站总是向上滚动?

时间:2010-07-19 19:51:02

标签: javascript html hyperlink

我有一个链接

<a href="#">Text</a>

当我点击此链接时,我的页面总是向上滚动到顶部。我如何管理它,当我clik此链接时,我的页面不会向上滚动到顶部。

的Javascript?什么

谢谢

6 个答案:

答案 0 :(得分:5)

你可以添加一些javascript来拒绝默认行为。

function myClickHandler(e) {

    // your code here
    // ...

    // new code
    if(e.preventDefault){ //firefox,chrome
        e.preventDefault();
    }
    else { // ie
        return false;
    }
}

如果您提供更多详细信息/示例代码,我们可以为您提供更具体的答案。

答案 1 :(得分:3)

不确定你要做什么,但也许你在考虑:

<a href="JavaScript:void(0);" >Text</a>

那什么都不做。

答案 2 :(得分:1)

您可能希望发布执行此操作的链接示例。我的猜测是因为你没有为链接设置一个href,或者你用“#someId”结束链接href

并不是它滚动到页面顶部,而是刷新页面。

顶部链接的示例:

<a href="#header">Some Link</a>

<a href="#">Somewhere</a> <!-- will refresh and you end up at the top -->

修改 啊......既然你已经提供了链接......那就是问题的哈希#

为了避免这种情况发生(我猜你想在链接上做一些Javascript而你正试图让它做某事......)那么你需要在你的javascript中使用return false;。这将从链接返回false,不会跟随它。

答案 3 :(得分:0)

<body>
    <h1 id="top">First Headline</h1>

    <!-- your document here-->
    <a href="#top">go to Top</a>

</body>

使用Javascript,你可以添加一些平滑,如慢慢向上滚动。 HTML Links

答案 4 :(得分:0)

这是因为您只有哈希#作为“URL”。它使浏览器跳转到页面的顶部(如果你指定的话,它通常会跳转到具有相应ID的元素。)

但如果您不使用此链接,目的是什么?

答案 5 :(得分:0)

浏览器将[relative] URL #视为页面顶部。更改链接的href属性以引用其他资源,或添加阻止默认操作的click事件处理程序。更好的是,如果您打算将其作为触发click事件的按钮,请将<a>标记替换为<button>,这在语义上更正确。