我目前有一个网站,当用户点击页面上的某个点时,会将用户自动滚动到某个部分。为此,我必须在进行自动滚动时禁用用户的滚动,以防止它们中断自动滚动。更新到Safari 9后,我再也无法禁用用户的滚动,直到他们停止手动滚动。所以他们当前可以滚过autoscroll anchorpoint,我的disableScroll函数在它们停止滚动之前不会生效。如何在中间滚动时禁用用户的滚动?这是我用来禁用滚动的代码。同样,这在Safari 9之前工作正常。我应该使用最近在Safari 9中实现的新滚动捕捉吗?
disableScrolling = function() {
window.onwheel = preventDefault; // modern standard
window.onscroll = preventDefault;
window.onmousewheel = document.onmousewheel = preventDefault;
}
preventDefaultTest = function(e) {
e = e || window.event;
if (e.preventDefault) {
e.preventDefault();
}
e.returnValue = false;
}