2

我试图阻止元素在 iphone 上的 safari 中滚动。我已经尝试过这里提到的解决方案: iPhone Safari: Scroll a list inside a html container 但我的列表很大,而且运行不顺畅。

我想到的是检测 onscroll 事件并重新定位元素,因此它位于视口的边界内。

但我找不到检测视口坐标的方法。有人可以帮忙吗?

谢谢。

4

3 回答 3

0
document.addEventListener(
    'touchmove',
    function touchMove(event) {
        event.preventDefault()
    },
    false
);
于 2009-08-26T12:45:19.377 回答
0

看看iScroll。如果 is 不符合您的要求,您可以使用实现作为参考。我认为这样做的诀窍是既要做到这一点event.preventDefault()event.stopPropagation()又要防止移动 safari 响应触摸事件。

iScroll 的诞生是因为移动 webkit(在 iPhone、iPod、Android 和 Pre 上)不提供在固定宽度/高度元素内滚动内容的本机方式。这种不幸的情况阻止了任何网络应用程序有一个位置:绝对页眉和/或页脚以及内容的滚动中心区域。

于 2010-06-02T19:15:12.807 回答
0
var viewport_x = window.pageXOffset;
var viewport_y = window.pageYOffset;
于 2011-04-06T10:28:48.997 回答