我在尝试使 iScroll 工作时遇到问题。
目前我正在开发这个使用 Webworks、HTML5、jQuery、JavaScript、CSS 开发的应用程序,该应用程序将同时适用于在 OS 6 和 7 上运行的触摸屏和非触摸屏设备。
我们团队正在开发的应用程序也需要检索和显示大量数据,因此会有大量滚动(水平和垂直)。那是我们开始敲打头并拔出头发的时候。在 OS 6 和 7 上,即使您将 div 设置为 overflow: auto 滚动条也不会出现,并且如果用户尝试使用触控板/轨迹球滚动,滚动不会超出滚动 div 的高度或宽度。
然后我们发现了 iScroll。这很好,但另一个问题是,我们的应用程序的工作方式是这样的:
我们有一个 index.html
<body id="mainBody" onLoad="mainMenu()"></body>
它将加载 mainMenu(),其中包含布局和导航到应用程序的其他功能,例如,功能一(功能一页()),功能二(功能二页())。iScroll 在以下位置初始化:
<body id="mainBody" onLoad="mainMenu()">
<script type="text/javascript">
var myScroll;
function scroll() {
myScroll = new iScroll('wrapper',);
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
window.addEventListener('load', scroll, false);
</script>
问题 1 - 第二个 iScroll 未初始化
iScroll 将在 mainMenu() 中很好地显示,但 iScroll 不会显示在从 mainMenu() 调用的其他函数中。例如在 mainMenu() 中有一个指向函数 displayUser() 的链接,我点击链接 iScroll 不会在那里显示。这个问题有什么解决方案吗?
问题 2 - 黑莓触控板
还有一个问题,如果页面显示超过 5 行记录,即使 x-blackberry-focusable="true",触控板焦点导航也不起作用,并且有 onmouseover 和 onmouse 事件来处理焦点事件。config.xml 中也已设置。
有没有人遇到过这些问题?任何帮助将不胜感激。