document.addEventListener(“touchmove”, preventBehavior, fals

document.addEventListener("touchmove", preventBehavior, false); - prevents me using from using overflow: scroll; - work around?

本文关键字:preventBehavior fals touchmove addEventListener document      更新时间:2023-09-26

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

这很好...但它也阻止我在一段文本上使用 CSS overflow:scroll

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

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

从这里

我认为您可以在"触摸移动"时检测到目标元素:

document.addEventListener("touchmove", function(event) {
    if (event.target.tagName != "TEXTAREA") { // Element that you don't want to be prevented default event.
          event.preventDefault();
    }
});

要捕获所有滚动像素,您可以编写

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

您是否在身体负荷功能中添加了触摸事件监听器?如果你写 event.preventDefault();它将终止事件行为,这是您的溢出:滚动属性不起作用的原因。

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

"UIWebViewBounce" 值="false"