所以,现在大多数浏览器会在页面刷新时自动重新定位窗口滚动,这通常很好,但我有一种情况,我需要重新加载页面并关注用户离开页面的不同部分。注意获得焦点的新元素以隐藏开始,因此散列不起作用。我需要在 JS 中处理它,这样我才能使 div 可见,等等。
重新加载后调用...
$(document).ready(function(){
$('#mydiv').show();
var top = $('#myelement').offset().top;
window.scrollTo(0, top);
});
尽管如此,页面关注的是用户离开页面的位置。经过多次调试,在我看来代码运行得很好,但是浏览器在我处理 reload 事件之后正在处理,并重新定位我新定位的滚动......它会立即发生,但如果我在之后发出警报我的滚动,它显示了正确的屏幕位置。解除警报后,浏览器会将滚动条跳回到 IT 认为应该在的位置(至少在 Chrome 中是这样)。
我的问题,有什么办法可以防止浏览器(跨浏览器)处理重载事件?用超时延迟我的滚动似乎有效,但它看起来非常不专业和跳跃。
我试过了
$(document).unbind("scroll");
正如我在这里看到的某处推荐的那样,但它没有做任何事情。
提前感谢您的帮助。