2011-07-05 26 views
2

我有一个多列布局,其中“#content-primary”是div,我想要加载实际内容,而“#content-secondary”包含生成的链接列表视图导航菜单)。在JQuery Mobile的div容器中打开链接

我使用此代码来更改页面,几乎跟随JQM文档,但浏览器正在跟随到全新页面的链接,而不是将它们的内容加载到“#content-primary”div 。显然有一些我错过了。

$(function(){ 
      $('#menu a').click(function() { 
       $.mobile.changePage($(this).attr('href'), { 
        pageContainer: $("#content-primary") 
       }); 
      }); 
     }); 

在后端使用Django,但它可能不相关。

+0

$ .mobile.changePage()可以从外部调用,并接受以下参数(于过渡,回,changeHash)。是什么让你认为你可以通过一个页面容器? – Tsar

+0

根据文档(http://jquerymobile.com/test/docs/api/methods.html),它有两个参数:changePage(to,options)其中options是一组属性。 pageContainer是这些属性之一。 [quote] pageContainer(jQuery集合,\t默认:$ .mobile.pageContainer)指定应该包含页面的元素。[/ quote] – sw00

回答

1

我终于找到了答案here。 JQuery Mobile的changePage()loadPage()方法做了太多的后处理,并触发了很多事件,真正使得实现自己的动态加载比应该更复杂。

好老式#("div#primary-content").load();的作品,但我仍然努力应用JQM风格。

0

有趣的是,与this矛盾this

$ .mobile.changePage()可以被外部调用 并接受以下 参数(于过渡,回, changeHash)。

而且测试时,这个工程:$.mobile.changePage("index.html", "slideup");但这并不: $.mobile.changePage("index.html", { transition: "slideup" });

也许文档是不完全正确?

+0

所以看来我想要使用的方法不是被弃用就是根本没有被实现。这很遗憾,因为它提供了很多使用JQM的人需要的功能。有一些插件提供分割列导航,但是这似乎是一个很大的开销,因为我只想要一个视图:http://stackoverflow.com/questions/6515525/how-to-make-split-jquery-mobile- layout-for-ipad – sw00

+0

changePage(to,options)是根据以下的新签名:http://jquerymobile.com/blog/2011/06/20/jquery-mobile-beta-1-released/它现在改变页面但整个页面在加载完成后立即从屏幕上跳转,因此它显示一个空白屏幕。我相信changePage仍在调用一些代码来刷新不应该被调用的新页面。 – sw00

0

更新到新的beta 1版本