0

我最近用 jquery 开发了一个 web 应用程序,现在需要在移动设备(特别是 ipad)上使用。我现在将 jquery mobile 添加到组合中,并替换clicktap,这解决了几个问题。我继续前进并改为ready-pageinit但这是我遇到障碍的地方。

旧的 jquery 代码是:

$(document).ready(function() { ... });

这在台式机上运行良好,但在移动设备上出现了一些问题。我把它改成了

$(document).pageinit(function() { ... });

这在我的一台开发机器(OS X)以及移动设备上运行良好。但是在我的另一台开发机器(Ubuntu)上,我收到了错误消息function pageinit does not exist。然后我将其更改为“正确”的方式:

$(document).on('pageinit', function() { ... });

这不起作用,因为该函数永远不会被调用。我怀疑这是因为onpageinit事件不存在或类似的东西。我进一步尝试了 withe pageshow,pagecreate等 - 结果相同。在 Firefox 和 Chrome 中也有相同的结果。

那么,我在这里缺少什么?我现在在我的代码中加入这样的内容:

$doc = $(document);
func = $doc.pageinit ? $doc.pageinit : $doc.ready;
func(function() { ... });

这使它可以在 OS X、Ubuntu 和 iPad 上运行,但这感觉/看起来很难看。还有其他建议吗?

4

0 回答 0