我想禁用iphone上的touchmove滚动。 尝试过我能想到的一切。真的令人沮丧。
$(document).bind('touchmove', function (e) {
e.preventDefault();
});
$('.info-wrapper > *').bind('touchmove', function (e) {
e.stopPropagation()
});
滚动应该照常工作,但是当我点击一个按钮时,会出现覆盖整个屏幕的透明度。这个div有类信息包装器。所以所有的孩子都应该停止文件上的事件以使其受到影响。但事实并非如此,似乎信息包装器阻止它,但信息包装器中有子项不会禁用滚动。这些是很多类型的元素,h2,span等。
另外,info-wrapper有溢出:auto;应用,所以这个应该能够照常滚动。
编辑:
嗯,这个似乎差不多了。
$(document).on('touchmove', function (ev) {
if (!$(ev.target).parents().hasClass('info-wrapper')) {
ev.preventDefault();
}
});
还添加到body css -webkit-overflow-scrolling:touch;
这会阻止底层主体使用info-wrapper滚动。