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)在手机端失效