【问题标题】:Phonegap prevent pageinitPhonegap 防止 pageinit
【发布时间】:2013-01-27 14:37:18
【问题描述】:

我不太确定我是否正确使用了 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 调用吗?

【问题讨论】:

    标签: javascript jquery cordova jquery-mobile


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多