gpt4 book ai didi

javascript - jQuery Mobile : alternative of . 触发 ('create' ) 或 .page() 更新导航栏时?

转载 作者:可可西里 更新时间:2023-11-01 12:52:23 25 4
gpt4 key购买 nike

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

    <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。下面的脚本应该可以工作,但菜单没有样式......

$(function(){
$("#menu").html("<li><a href='#'>Test Styling</a></li>").trigger('create');
});

有什么解决办法吗?我试过 page();.listview('refresh'); 没有结果。

最佳答案

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

$(function(){
$("#menu").html("<li><a href='#'>Test Styling</a></li>");
$("#navbar").navbar();
});

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

var footer = $("#footer-id");

var navBar = $("div", {
"data-role":"navbar",
"html":"<ul><li><a href='#'>Test Styling</a></li></ul>"
}).appendTo(footer).navbar();

关于javascript - jQuery Mobile : alternative of . 触发 ('create' ) 或 .page() 更新导航栏时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9214487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com