单击href ="#"时为什么页面向上滚动?

Bab*_*ker 2 html javascript ajax

我有一个超链接,<a href="#" id="someID">Link</a>所以我必须向下滚动页面才能到达.此超链接仅用于触发Ajax请求.当我点击这个超链接时,页面一直滚动到顶部!我怎样才能解决这个问题?我使用#因为其他任何东西都会重新加载页面.我用错了吗?

编辑:

我很难解释你在做什么,如果你运行这个,你会得到我面临的同样问题.即使在返回假之后.

   <html>
    <head>
    </head>
    <body>
        <a href="#" id="link" style="position:absolute; top:200%;">Link</a>
    </body>
</html>
<script type="text/javascript">
    document.getElementById("link").onmousedown = function(){
        this.style.color="red";
        return false;
    }
</script>
Run Code Online (Sandbox Code Playgroud)

med*_*iev 7

将a添加return false;到分配的事件处理程序:

 el.onclick = function() {
   // do your code
   return false;
 }
Run Code Online (Sandbox Code Playgroud)

或者可以说是更优雅的方式

function(e) {
   e = e || window.event;
   if ( e.preventDefault ) e.preventDefault()
   else e.returnValue = false;
}
Run Code Online (Sandbox Code Playgroud)


Eva*_*ski 6

必须尝试javascript:void(0)代替#

资源:

我应该将哪个"href"值用于JavaScript链接,"#"或"javascript:void(0)"?

编辑:

原因:

它可以防止浏览器刷新或导航到其他页面.

http://www.tizag.com/javascriptT/javascriptvoid.php