jQuery Mobile:更新导航栏时替代.trigger(’create’)或.page()?

我有以下jQuery Mobile HTML代码,导航栏的内容是使用javascript设置的。 当静态设置时,jQuery移动设备会对导航栏进行设置样式,但是当您稍后使用javascript设置它的内容(html)时,您必须做一些额外的工作才能使其工作:

App

Loading...

trigger('create'); 通常用于解决使用javascript / ajax设置时无样式标记的问题。 但是 ,它似乎只能在data-role="content" ,而不适用于#navbar 。 下面的脚本应该工作,但菜单没有样式…

 $(function(){ $("#menu").html("
  • Test Styling
  • ").trigger('create'); });

    任何想法如何解决这个问题? 我试过了page();.listview('refresh'); 没有结果。

    在附加列表项后尝试调用navbar方法:

     $(function(){ $("#menu").html("
  • Test Styling
  • "); $("#navbar").navbar(); });

    编辑:您还可以尝试动态创建导航栏:

     var footer = $("#footer-id"); var navBar = $("div", { "data-role":"navbar", "html":"" }).appendTo(footer).navbar();