数据转换不适用于脚本加载页面

时间:2013-09-29 17:21:34

标签: jquery jquery-mobile cordova

我是新手,我正在使用Phonegap,jquery和jquery-mobile开发应用程序。我的主页有几个部分页面的脚本加载:

<div id="breakfast" data-role="page"></div>                         
<script>$( "#breakfast" ).load( "partials/breakfast.html" );</script>

这些部分都有像这样的导航栏:

<div data-role="navbar" style="background:black;" id="tab">      
  <ul>                                                           
    <li><a href="#"                                              
        data-role="tab"                                          
        class="ui-btn-active ui-state-persist">Breakfast</a></li>
    <li><a href="#lunch" data-role="tab"                         
        data-transition="slide">Lunch</a></li>                   
    <li><a href="#snack" data-role="tab">Snack</a></li>          
    <li><a href="#dinner" data-role="tab">Dinner</a></li>        
    <li><a href="#other" data-role="tab">Other</a></li>          
  </ul>                                                          
</div>

我的问题是数据转换无法正常工作,因为在请求之前,某些页面不会加载到dom中。我可以浏览所有页面但数据转换不起作用。

我阅读了官方文档,我发现可以使用以下方式预取页面:

<a href="prefetchThisPage.html" data-prefetch> ... </a>

但这也不起作用。

我想要的是继续使用我的部分页面来保持主页清洁并使数据转换工作。

有没有人有线索?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您没有使用正确的功能。

函数 load 是一个jQuery函数,虽然它工作正常但它不应该与jQuery Mobile一起使用。 jQuery Mobile的工作方式有点不同,如果你想预加载页面,你需要使用jQuery Mobile版本的函数加载。小心将页面成功加载到 DOM 的相应部分。

此方法称为loadPage,可以找到官方信息here。与加载函数不同,这个函数不需要目标位置,它将由jQuery Mobile处理。你只需要在正确的时刻初始化它。通常在 pageinit 事件期间,会显示在初始应用页面处于活动状态之前加载页面。

因为您称自己是新手,请看一下 article ,它会告诉您哪些页面事件以及如何使用它们。

如果你仍然无法使它成功,我会为你创造一个有效的例子。

相关问题