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

Posted

技术标签:

【中文标题】document.addEventListener("touchmove", preventBehavior, false); - 阻止我使用溢出:滚动; - 变通?【英文标题】:document.addEventListener("touchmove", preventBehavior, false); - prevents me using from using overflow: scroll; - work around? 【发布时间】: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' - 不是文档 【参考方案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”值=“假”

【讨论】:

以上是关于document.addEventListener("touchmove", preventBehavior, false); - 阻止我使用溢出:滚动; - 变通?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery Mobile 和 $(document).ready 与 PhoneGap Build 和 document.addEventListener("deviceready&

jQuery(document).on("keydown",...) 有效,但不是 document.addEventListener("keydown",..

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

document.addEventListener('scroll',"事件名",false)在手机端失效

jQuery 等效于 JavaScript 的 addEventListener 方法

DOMContentLoaded的addEventListener()无法正常工作