在AJAX请求后停止滚动到顶部

时间:2011-03-27 14:26:22

标签: javascript jquery ajax scroll

  

可能重复:
  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。 有没有办法阻止它从头开始滚动到顶部

4 个答案:

答案 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();