【发布时间】:2014-01-15 22:04:04
【问题描述】:
动态更改 jQuery Mobile 1.4.0 页面的标题 (data-role="header") 和标题 () 的正确方法是什么?
【问题讨论】:
标签: jquery-mobile
动态更改 jQuery Mobile 1.4.0 页面的标题 (data-role="header") 和标题 () 的正确方法是什么?
【问题讨论】:
标签: jquery-mobile
有很多方法可以动态添加工具栏(页眉/页脚)。此外,jQuery Mobile 1.4 提供了 internal 和 external 工具栏,这取决于您是希望所有页面都使用一个 toolbar,还是每个页面使用不同的工具栏。
如果你想要一个 internal 工具栏,把它添加到当前页面(活动页面),如果你想要一个 external 工具栏,把它添加到 pageContainer。此外,您需要使用.toolbar() 或.enhanceWithin() 对其进行增强。
动态添加工具栏后,您必须重置当前页面的高度,因为它们会在动态添加时添加额外的填充。 $.mobile.resetActivePageHeight() 将删除额外的填充。
这里是一个演示如何向当前页面添加页眉。
/* get active page */
var page = $.mobile.pageContainer.pagecontainer("getActivePage");
/* add header */
$(".add").on("click", function () {
$(page).append($("<div/>", {
"data-role": "header",
"data-position": "fixed"
}).append($("<h1/>").text("Header"))).enhanceWithin();
/* reset height */
$.mobile.resetActivePageHeight();
});
/* change title */
$(".change").on("click", function () {
$(".ui-header .ui-title").text("new title");
});
添加外部工具栏。
/* get pageContainer */
var pagecontainer = $.mobile.pageContainer;
$(".add").on("click", function () {
$(pagecontainer).append($("<div/>", {
"data-role": "header",
"data-position": "fixed",
"data-theme": "a"
}).append($("<h1/>").text("Header"))).enhanceWithin();
/* reset height */
$.mobile.resetActivePageHeight();
});
【讨论】:
$(".ui-header .ui-title").text("new title");。它在第一个代码块和演示中进行了解释。