Phonegap阻止了pageinit

时间:2013-02-12 10:10:10

标签: javascript jquery cordova jquery-mobile

我不太确定我是否使用了pageinit事件。我只使用1个data-role =“page”。 每个'.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的想法是否始终具有良好的性能,是否可以阻止发送电话号码?

1 个答案:

答案 0 :(得分:0)

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

同样关于显示和隐藏div,这不是最好的性能,但它比不断加载页面更好。您可能希望查看一个框架,该框架可以加载所有模板(html)并使用js加载/交换信息和模板。像backbone.js