document.addEventListener(" touchmove",preventBehavior,false); - 阻止我使用溢出:滚动; - 解决?

时间:2012-05-30 10:52:47

标签: javascript ios cordova overflow touchmove

我正在使用phonegap构建ios应用程序,因此您无法移动窗口phonegap使用document.addEventListener("touchmove", preventBehavior, false);

这很好......但它也阻止我在一段文字中使用css overflow:scroll

是否有工作可以使这两个仍然有效?有没有办法可以在js之后加载css部分以便它覆盖它?或者我可以将document.addEventListener("touchmove", preventBehavior, false);应用于身体而不是其内容?

4 个答案:

答案 0 :(得分:3)

发现一个phonegap / cordova只能解决这个dosnt要求你首先使用document.addEventListener("touchmove", preventBehavior, false); - 进入你的xcode项目..项目文件>支持文件> cordova.plist然后在顶部将'UIWebViewBounce'更改为NO。

来自here

答案 1 :(得分:1)

捕获所有可以写入的滚动像素

document.addEventListener("touchStart",<method>,true/false)
document.addEventListener("touchMove",<method>,true/false)
document.addEventListener("touchEnd",<method>,true/false) 

您是否在body load函数中添加了touchEventListener?如果你写event.preventDefault();它会杀死事件行为,这就是你的overflow:scroll属性不起作用的原因。

答案 2 :(得分:1)

我认为你可以在“touchmove”时检测到目标元素:

document.addEventListener("touchmove", function(event) {

    if (event.target.tagName != "TEXTAREA") { // Element that you don't want to be prevented default event.

          event.preventDefault();
    }
});

答案 3 :(得分:0)

在最后一个版本中,由config.xml更改了cordova.plist,然后设置

“UIWebViewBounce”value =“false”