3

我不太确定我是否正确使用了 pageinit 事件。我只使用 1 个数据角色 =“页面”。每个“.html 文件”都是一个 data-role="content",它通过 javascript 显示或隐藏。

    $(document).delegate("#index", "pageinit", function(event, ui) {
  cookie = null;
  isLoggedIn(); //cookie = true || false
  initRotation();
  initNavigation();
  initService();
  .....
  if (cookie == null) {
    $('#login').show();
    $('#home, #foot, #service').hide();
  } else {
    $('#login, #service').hide();
    $('#foot, #home').show();
    $('#naviHome').addClass("ui-btn-active"); // ui-state-persist?!
  }
});

到目前为止它工作得很好,但现在我试图让用户为表单拍照。当相机打开并且用户“保存”该图片时,会触发 Android onRestart() 事件,该事件会再次触发 pageinit() 事件。我的两个问题是:我对显示/隐藏 div 的想法是否始终具有良好的性能,你能阻止 pageinit 调用吗?

4

1 回答 1

0

您可以有一个变量来跟踪 pageinit 应该或不应该被触发的位置。并且当用户打开相机时,可以更改变量,以便在保存图片并尝试触发 pageinit 时不会。然后将变量切换回来,以便它可以再次触发其他事件。

同样关于显示和隐藏 div,这对性能来说并不是最好的,但它比不断加载页面要好。您可能想研究一个加载所有模板(html)并使用 js 加载/交换信息和模板的框架。像backbone.js

于 2013-02-14T20:19:28.640 回答