Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么当href=";时页面会向上滚动#&引用;点击了吗?_Javascript_Html_Ajax - Fatal编程技术网

Javascript 为什么当href=";时页面会向上滚动#&引用;点击了吗?

Javascript 为什么当href=";时页面会向上滚动#&引用;点击了吗?,javascript,html,ajax,Javascript,Html,Ajax,我有一个类似于的超链接,我必须向下滚动页面才能找到它。此超链接仅用于触发Ajax请求。当我点击这个超链接时,页面会一直滚动到顶部!我怎样才能解决这个问题?我使用#,因为其他任何东西都会重新加载页面。我用错了吗 编辑: 我很难解释我在做什么,如果你运行这个,你会遇到和我一样的问题。即使在返回false之后 <html> <head> </head> <body> <a href="#" id="li

我有一个类似于
的超链接,我必须向下滚动页面才能找到它。此超链接仅用于触发Ajax请求。当我点击这个超链接时,页面会一直滚动到顶部!我怎样才能解决这个问题?我使用
#
,因为其他任何东西都会重新加载页面。我用错了吗

编辑: 我很难解释我在做什么,如果你运行这个,你会遇到和我一样的问题。即使在返回false之后

   <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>

document.getElementById(“link”).onmousedown=function(){
this.style.color=“red”;
返回false;
}

添加一个
返回false分配给事件处理程序:

 el.onclick = function() {
   // do your code
   return false;
 }
或者更优雅的方式

function(e) {
   e = e || window.event;
   if ( e.preventDefault ) e.preventDefault()
   else e.returnValue = false;
}

您需要在单击锚定标记时停止事件传播。

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

资料来源:

编辑:

原因:

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


浏览器正试图移动到名为
#
的锚点。没有,所以它会滚动到最上面。为了避免这种行为,请按照meder提到的方法进行操作。

浏览器将#作为锚,您的页面顶部有一个id为“someID”的链接,或者根本没有id,在这种情况下,默认情况下,它只会进入页面顶部(这似乎是您的情况)。你必须用某种东西来代替#标志来阻止这种情况。我不确定什么是最好的,但埃文·穆拉夫斯基的答案可能会奏效。我不知道这是否仍能让ajax代码正常运行

我没有投反对票,但你读过投票最多的答案吗?应该是鼠标向下还是点击?您是否可以显示所有相关代码,包括
Obj
reference。使用正确的Doctype 2。您必须将
脚本
元素放在文档的
标题
正文
中。