我有一个网络应用程序,我正在使用 Phonegap 使其适应 iOS5。除了一个问题,一切正常:
我的内心<div>
s,如果在 Chrome 中溢出则设置为滚动,如果在 Chrome 中溢出则设置为完美滚动在 iPad 上根本不滚动。
--我通过禁用 touchmove 禁用了应用程序拖动; --我已经实现了(也许不正确?)-webkit-overflow-scrolling:touch CSS 属性,这显然是 iOS5 的新属性,如下所示:
溢出:滚动; -webkit-overflow-scrolling:touch;
似乎没有任何效果。
如果我注释掉禁用应用程序拖动(即 touchmove)的 javascript(来自 Phonegap),则滚动有效,但它会拖动并滚动整个应用程序。
如有任何帮助,我们将不胜感激。
最佳答案
这更像是一种 hack,但您可以做一些检查以查看您是否正在触摸 div
,并根据这一点,您可以像这样防止滚动:
document.body.addEventListener('touchmove', function (e){
if(document.elementFromPoint(e.pageX, e.pageY) !== document.getElementById('yourdiv'){
e.preventDefault();
}
}, false);
关于javascript - 防止应用程序拖动但允许在 ios 中滚动内部 div 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8292326/