在 Sencha touch 2 如何启用浏览器滚动条

Posted

技术标签:

【中文标题】在 Sencha touch 2 如何启用浏览器滚动条【英文标题】:In Sencha touch2 How to enable browser's scrollbar 【发布时间】:2012-05-18 14:49:58 【问题描述】:

出于某种原因,我喜欢使用浏览器的原生滚动条而不是 sencha 的。

我已经将溢出设置为自动到正文,但直到我在 chrome 工具栏中手动将固定高度设置为“ext-viewport”,例如 2000px,才能看到滚动条。

看起来视口总是自动适应屏幕大小。 是否有任何设置可以禁用此功能并启用浏览器的滚动?

提前致谢。


5 月 19 日更新 这里有一些进展,

    Ext.viewport.android -> doFixSize 将自动调整视口以适应屏幕大小,将其注释掉,然后设置/检测固定 在Ext.viewport.Default 中,它吞噬了touchstart/touchmove 事件,因此滚动条不起作用,通过将preventPanning/preventZooming 设置为false 我可以使滚动条正常工作。 它的滚动速度比 sencha 的滚动条快得多 :)

carousel 现在不好用,正在调查中……


6 月 20 日更新

由于以下错误,轮播在 android 4 中无法与本机滚动条一起使用 http://code.google.com/p/android/issues/detail?id=19827

使用原生滚动条,只有 touchstart 和第一个 touchmove 事件被调用,随后的 touchmove 和 touchend 会丢失,因此没有 e.preventDefault() 就无法实现轮播。

一种解决方法是监听触摸事件,当事件目标是轮播时,调用 e.preventDefault 来禁用原生滚动条......

【问题讨论】:

【参考方案1】:

试试这个代码

Ext.viewport.setScrollable(false); Ext.viewport.element.dom.childNodes[0].style.overflow = 'scroll';

【讨论】:

以上是关于在 Sencha touch 2 如何启用浏览器滚动条的主要内容,如果未能解决你的问题,请参考以下文章

Sencha Touch:这个框架到底是如何工作的?

使用 sencha touch 2 开发的应用程序的推送通知

Sencha Touch + Cordova + Android - 如何配置项目url?

Sencha Touch 2 轮播无法在 Android 设备上启动

如何在 Sencha Touch 2 模型中存储日期

Sencha Touch 2:数据集成或如何在sencha和javascript之间共享动态信息