阻止移动safari在x方向滚动

时间:2013-12-08 01:23:42

标签: javascript jquery ios html5 mobile-safari

我在移动设备中实现了一个div,其宽度与设备宽度相同,高度大于设备高度: 我使用过这个元标记:

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0" />

但是,我仍然可以滚动屏幕。这意味着如果向左滚动,右侧会出现一些空白区域。我尝试过以下方法:

$(document).on(isMobile ? 'touchmove' : 'mousemove', function(e) {
        e.preventDefault();
    });

这确实可以防止滚动。但是,我只想阻止在X方向上滚动。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

有点评论。如果您的视口设置正确,它应该与屏幕一样宽,并且不应允许滚动。一种可能性是你有一些超出视口大小的元素。但是视口上的设备宽度也可能是错误的。例如,对于iphone / ipods,纵向屏幕的宽度仅为320px,而实际像素数为640px。如果设备宽度以某种方式获得640px而不是320px,则视口的大小是其两倍。 尝试使用不同的视口宽度进行实验。