jQuery .show() 和 BlackBerry OS5

标签 jquery blackberry blackberry-os-v5 css

这可能是一个远景,但是......

有人在 BlackBerry OS5 网络浏览器中使用 jQuery 的 show() 遇到过问题,导致它无法工作(在设备上)或使手机(模拟器)崩溃吗?如果可行,找到解决方法了吗?

无论我们使用 .show() 还是 .css('display','block') 都会发生同样的事情

在 OS6、iOS、Firefox、Chrome 等中工作...但在 OS5 浏览器中死机。

哦,我应该补充一下:

据我们所知,这只是在运行实际服务器(JSF、websphere)的应用程序时出现的问题。当我们在本地将 jQuery 作为静态页面进行测试时,它工作正常。

最佳答案

我的团队也在使用 jQuery Mobile 并在设备上遇到了类似的问题(尽管我认为我们没有看到模拟器因此崩溃)。以下是我们目前的发现:

  • 您对 show() 的调用可能正在运行,但处理速度太慢以至于您在加载之前就放弃了。 The entire DOM for the web page is processed every time you add, remove, or modify any attribute or element on the page。 BlackBerry 论坛帖子建议 removing an element before modifying 它以提高性能。

  • 在某些设备上,我们发现可以调用 show(),但只有在页面上稍微向上或向下滚动后,UI 才会更新。如果您的页面太短而无法滚动,那您可能就不走运了。

  • onclick 属性在触摸屏上似乎被忽略了(但在轨迹球/触摸板设备上工作正常),这可能是您的 show() 调用没有结果的原因。为了使我们的超链接适用于所有设备,我们在 onclickhref 属性中放置了 JavaScript 调用:
    <a href="javascript:showThings();" onclick="javascript:showThings();">Show</a>

  • onclick 方法调用 JavaScript 时,我们必须像这样在方法调用前加上 javascript::
    <a href="#" onclick="javascript:showThings();">Show</a>
    (大多数现代浏览器假定您的 onclick 值应该被评估为 JavaScript)

  • 默认情况下不启用基于焦点的导航,这导致我们在使用轨迹球/拇指板设备时出现问题(屏幕会锁定并停止响应按键)。您可以启用基于焦点的导航 in either your project's config.xml 或使用 RIM-specific hyperlink attribute 。我忘记了我们在 config.xml 中启用它后遇到了什么问题,但我们最终改用了 x-blackberry-initialFocus 超链接属性。

很难准确地说出以上哪一点可能适用于您的情况,希望有相关或有用的内容。到目前为止,我的团队对 BlackBerry 上的 Web 开发体验印象不深,尤其是 OS 5 和 6 之间以及轨迹球/拇指板和触摸设备之间的差异。

关于jQuery .show() 和 BlackBerry OS5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6699568/

相关文章:

javascript - 需要一个 jQuery 表单反序列化器

jquery - 更新数据后刷新 Grid.Mvc

java - 如何将图像导入黑莓并设置 onClick 监听器?

android - 一款开发android/ios/bb/windows 8的软件

java - 弹出屏幕不起作用

eclipse - 为 4.70 或 5.0 组件配置 Blackberry Eclipse 插件

javascript - 根据先前的输入选项选择(单选按钮)显示 div 的内容。在一个文件中工作,而不是在其他文件中工作

javascript - ajax 调用乱序运行的顺序延迟 promise