jQuery Mobile - 启用滚动禁用页面拖动

2024-05-03

我目前正在使用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(使用前将#替换为@)

jQuery Mobile - 启用滚动禁用页面拖动 的相关文章

随机推荐