在我的小应用程序中,我有一个使用jQuery mobile的嵌套列表。如果我单击列表中的某个项目,标题中的标题会更改并显示我单击的项目的标题。我怎么能实现,标题在页面上保持不变?
示例:
<div data-role="page" id="newspage" data-theme="a">
<div data-role="header" data-position="fixed">
<a href="#home" data-role="button" data-icon="home" data-iconpos="notext" data-mini="true" data-inline="true" data-transition="slide" data-direction="reverse">Home</a>
<h1>News</h1>
</div>
<div data-role="content" id="newsList">
<ul data-role="listview">
<li>
<h2>News 1</h2>
<p>This is a short version of news 1</p>
<ul>
<li>
<h2>News 1</h2>
<p>This is the text of news 1</p>
</li>
</ul>
</li>
<li>
<h2>News 2</h2>
<p>This is a short version of news 2</p>
<ul>
<li>
<h2>News 2</h2>
<p>This is the text of news 2</p>
</li>
</ul>
</li>
</ul>
</div>
</div>
因此,如果我点击“新闻1”,标题中的标题会更改为“新闻1”,当然会显示嵌套项目。但我希望在嵌套项的标题中有“新闻”,就像之前在标题div中定义的那样。我希望我说清楚我想要什么。 :-)任何想法如何做到这一点?
谢谢!
答案 0 :(得分:1)
This是您的解决方案。您将在HTML结尾处找到您的解决方案。
代码示例:
$(':jqmData(url^=newspage)').live('pagebeforecreate',function (event) {
var title = $(':jqmData(url^=newspage)').find(':jqmData(role=header) h1').html();
$(this).filter(':jqmData(url*=ui-page)').find(':jqmData(role=header)').html('<h1>' + title + '</h1>');
});
看看这部分代码:
$(':jqmData(url^=newspage)').
newspage是listview容器页面的id。