0


所以..这里是我有一个带有 data-role="page" 的页面和一个页眉容器和页脚 div的场景- 正常的 jquery 移动页面结构。

现在在我的内容 div 中,我有两个 div。在其中一个 div 中,我正在动态加载一些其他内容,其中包含指定数据角色的按钮和文本框。

现在的问题:

在 div 中加载新页面时,控件不会显示为移动控件,而是看起来像普通的 html 控件。这可能是因为他们在 dom 准备好后加载,他们没有得到 jqm js 和 css。

以下是页面结构。

     <html>
     <head>
     <link rel="stylesheet" href="styles/jquerymobile.css" type="text/css" />
     <script src="scripts/jquery.js"></script>
     <script src="scripts/jquery.mobile.js"></script>
     </head>
     <body>
     <div  data-role="page">
     <div data-role="header">
     </div>
     <div data-role="content">
     <div id="static_content"></div> // no problem to this.
     <div id="dynamic_content"></div> // dynamic content used .load() - no jqm css loaded :(
     </div>  
     </div>
     </body>
     </html>   

任何帮助将不胜感激。

4

2 回答 2

0

您必须将内容加载到 jQuery 移动事件结构中。有关详细信息,请参见此处:http: //jquerymobile.com/demos/1.1.0/docs/api/events.html

在被 jquery 增强之前,我使用了“pagecreate”事件来修改内容,如下所示:

  obj_out.add "$('div').live('pagecreate',function(event){" & vbNewLine
  obj_out.add " $('.jsvisible').show();" & vbNewline
  obj_out.add " $('.jshidden').hide();" & vbNewline
  obj_out.add " $('.nojs').removeClass('nojs');" & vbNewline
  obj_out.add "});" & vbNewline
于 2012-06-04T06:50:07.230 回答
0

加载动态内容后,您可以调用页面小部件构造函数

 $("div[data-role='page']").page('destroy').page();
于 2012-06-04T06:56:57.193 回答