【问题标题】:document.addEventListener("touchmove", preventBehavior, false); - prevents me using from using overflow: scroll; - work around?document.addEventListener("touchmove", preventBehavior, false); - 阻止我使用溢出:滚动; - 变通?
【发布时间】:2012-05-30 10:52:47
【问题描述】:

我用phonegap搭建了一个ios app,这样就不能移动窗口phonegap用document.addEventListener("touchmove", preventBehavior, false);

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

有没有一种工作方式可以让我同时让这两种方法都正常工作?有没有办法我可以在 js 之后加载 css 部分以便它覆盖它?还是我可以将document.addEventListener("touchmove", preventBehavior, false); 应用于正文而不是其内容?

【问题讨论】:

  • 仅供参考 window.addEventListener 'touchmove' - 不是文档

标签: javascript ios cordova overflow touchmove


【解决方案1】:

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

来自here

【讨论】:

  • 链接损坏,请修复
【解决方案2】:

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

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

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

          event.preventDefault();
    }
});

【讨论】:

  • 我是否使用 css 钩子定义元素“TEXTAREA”? IE。 #详细内容
【解决方案3】:

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

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 属性不起作用的原因。

【讨论】:

    【解决方案4】:

    在上个版本cordova.plist中被config.xml改了,然后设置

    “UIWebViewBounce”值=“假”

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 2012-01-02
      • 2014-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多