我尝试了一些事情来阻止在特定的ajax事件之后将页面滚动到顶部但没有结果。这是一个例子:
$(".changeviewdispatch > button").each(function () {
$(this).on("click",function(e) {
e.preventDefault();
var clicked_button_val = $(this).val();
$.ajax({
type : 'POST',
url : 'dispatch.php',
data: {'submitview':clicked_button_val},
success : function (d) {
//alert(d);
window.location.reload(true);
},
//error : errorHandler
});
return false;
});
});
点击后页面滚动到顶部... preventDefault并返回false应该不起作用...
一般问题:如何在ajax事件后停止滚动到顶部?
答案 0 :(得分:1)
window.location.reload(true);
关于你ajax成功正在重新加载页面。滚动条将默认为页面刷新时的顶部。
如果您希望页面保持静态,则以真AJAX
方式,然后您需要根据AJAX调用的响应更新页面中的内容。如果你重新加载页面,那么你就错过了这一点。
希望这清楚。
答案 1 :(得分:0)
1)在body标签开始后创建mainDiv ..
2)将下面的代码(使用jquery)放在你想要滚动页面的地方。
$('html, body').animate({
scrollTop: $("#mainDiv").offset().top
}, 2000);