3
我有以下jQuery Mobile HTML代码,navbar的内容是使用javascript设置的。 jQuery Mobile的样式时,它被设置静态,但是当您以后使用javascript设置它(HTML)的内容,你必须做一些额外的工作,使导航栏它的工作: jQuery Mobile:在更新导航栏时替代.trigger('create')或.page()?
<div data-role="header">
<h1 id="title">App</h1>
</div><!-- /header -->
<div data-role="content" id="content">
<p>Loading...</p>
</div><!-- /content -->
<div data-role="footer" data-position="fixed">
<div data-role="navbar" id="navbar">
<ul id="menu">
</ul>
</div>
</div><!-- /footer -->
</div><!-- /page -->
trigger('create');
一般用于解决使用javascript/ajax设置时未标记的标记问题。 但是,它似乎只工作在data-role="content"
而不是#navbar
。下面的脚本应该工作,但离开菜单unstyled ...
$(function(){
$("#menu").html("<li><a href='#'>Test Styling</a></li>").trigger('create');
});
任何想法如何解决这个问题?我试过page();
和.listview('refresh');
没有结果。
我将在明天再早尝试,但现在它似乎提出了一个错误:'执行'$(“#navbar”)时,没有这样的方法'刷新'navbar widget'。navbar(“刷新”);''和$(“#navbar”)。navbar ();'似乎没有效果。 – bartolsthoorn 2012-02-10 01:16:39
谢谢,它确实有效。 JavaScript执行的具体时刻很重要!必须在DOM明显加载后运行它.. – bartolsthoorn 2012-02-10 10:15:49
嗨,你还需要做什么?这不会为我工作,它不会加载创建dinamically元素的类。 – 2012-06-20 21:58:57