我目前正在使用phonegap 1.5 和jQuery Mobile 开发一个iOS 应用程序。
据我所知,我们可以使用以下 JavaScript 禁用页面拖动:
function preventBehavior(e)
{
e.preventDefault();
};
document.addEventListener("touchmove", preventBehavior, false);
但是,如果启用上述功能,内容滚动将不起作用。
有什么方法可以阻止用户拖动页面但允许滚动吗?
我尝试过使用 iScroll。为此,我需要手动执行
scrollbar.refresh();
在每个页面的 pageinit 事件下。不幸的是,我确实有很多页面需要滚动。 =(
我可以使用任何其他方法来启用滚动而不使用第 3 方插件吗?
将其添加到 HTML 头部
<script type="text/javascript">
touchMove = function(event) {
event.preventDefault();
}
</script>
然后设置
ontouchmove="touchMove(event)"
在您想要禁用拖动的每个页面的最外层 div 中。例子:
<div id="mypage" ontouchmove="touchMove(event)">
没有的页面可以拖动ontouchmove="touchMove(事件)".
此解决方案要求您不包含 PhoneGap 模板代码函数阻止行为()。删除或注释掉它:
//function preventBehavior(e)
//{
// e.preventDefault();
//};
//document.addEventListener("touchmove", preventBehavior, false);
更详细的信息在这里:http://phonegap.pbworks.com/w/page/16494815/Preventing-Scrolling-on-iPhone-Phonegap-Applications http://phonegap.pbworks.com/w/page/16494815/Preventing-Scrolling-on-iPhone-Phonegap-Applications
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)