可能重复:
How do I stop a web page from scrolling to the top when a link is clicked that triggers javascript?
我的浏览器在ajax请求之后滚动到顶部,然后我使用
$('html, body').animate({ scrollTop: $('#loadMore').offset().top }, 2000);
滚动回我的div。 有没有办法阻止它从头开始滚动到顶部
答案 0 :(得分:32)
你应该在你的ajax调用函数的末尾添加return false
。或者在内联电话结束时:
<a href="#" onclick="someAjaxCall(); return false">Link</a>
答案 1 :(得分:9)
如果您通过锚点击调用ajax,请尝试:
<a id="clicker" href="#">Click here to do ajax</a>
$('#clicker').click(function(e) { e.preventDefault(); $.get("/myurl/") })
答案 2 :(得分:4)
使用jQuery附加事件处理程序(不使用onclick属性)并完全删除href属性。问题是浏览器在单击链接时正在导航。当使用onclick并且在阻止默认值之前事件处理程序中存在错误时,我发现这种情况很多。
另一种解决方法是确保不使用&lt; a&gt;而是一个&lt; span&gt;。
答案 3 :(得分:2)
/* AJAX stuff here */
$('html, body').stop();