jQuery Mobile搞乱了Cordova的格式化

时间:2012-12-08 05:05:53

标签: jquery jquery-mobile cordova

我遇到了jQuery Mobile的问题以及它在pageChange之后如何忽略任何jQuery。 jQuery在页面上找不到任何元素,并返回涉及“循环函数”和类似内容的错误。

你可以看到在pageChange回到同一页面之后,它显然忽略了用于确定用户是否登录的功能,隐藏/显示链接等。此外它正在绘制配置按钮两次,并且弄乱了格式化。

Messed up formatting and ignoring jQuery after pageChange

2 个答案:

答案 0 :(得分:2)

答案很简单:

不要将任何JS代码放在jQm项目的正文中。把一切都放在头上。

由于性能原因,我们通常最后将JS放在体内,但是jQm通过在体内做一些魔术来操作(如果你的JS位于那里,那么搞乱一切)。

Cordova现在默认将所有JS放在正文的末尾,所以我只是使用了他们拥有的东西。对于jQm来说,这不是正确的举动。

将所有JS放在首位。

答案 1 :(得分:0)

您是否动态创建此内容?您必须使用JqM以非常特定的顺序执行操作。以下是JQueryMobile开发的一些最佳实践:

  • pageinit事件中执行所有事件绑定。有关详细信息,请参阅http://jquerymobile.com/demos/1.2.0/docs/api/events.html
  • 确保如果将新元素拖放到页面上,则在其上调用.trigger('create')。
  • 任何对.trigger('create')的调用都需要在调用$ .mobile.changePage之后进行。