我正在使用jQuery Mobile开发一个Web应用程序。 我有一个包含更多jQM页面的html文件。 这些jQM页面具有固定的头文件和通过jQuery动态加载的内容(在这种情况下,我使用带有过滤选项的Listview)。
这是所有jQM页面的HTML结构:
<div data-role="page" data-theme="a" id="pageTemplateList">
<div class="ui-header ui-bar-a" role="banner" data-role="header" data-theme="a" data-position="fixed" data-tap-toggle="false">
<a role="button" data-role="button" href="#" class="ui-btn-left ui-alt-icon ui-nodisc-icon ui-btn ui-icon-action ui-btn-icon-notext" data-theme="a">Pubblica</a>
<h1 aria-level="1" role="heading" class="ui-title">Videothron</h1>
<a role="button" data-role="button" href="#panelMenu" class="ui-btn-right ui-alt-icon ui-nodisc-icon ui-btn ui-icon-bars ui-btn-icon-notext" data-theme="a">Menù</a>
</div>
<div data-role="content" id="templateListViewContainer">
<ul id="templateListView" data-role="listview" data-inset="true" data-hide-dividers="false" data-filter="true" data-filter-placeholder="Cerca template...">
</ul>
</div>
</div>
我在jQM页面之间调用的jQuery代码如下:
location.href = "#pageTemplateList";
当我从“第一”页面(在下面的图像中是“BEFORE”)移动到“第二”页面然后返回到“第一”页面(在下面的图像中是“AFTER”)Listview内容位于固定工具栏下方,过滤器输入字段部分隐藏。
您有什么建议来解决这个问题?您还需要更多信息吗?
谢谢, 亚历克斯。
答案 0 :(得分:0)
我执行了每一行JS代码,直到我发现这个问题引起了这个问题:
$('div[data-role="page"]').trigger("create");
删除这行代码(我在通过jQuery添加输入文本字段后调用的代码)解决了这个问题。
不是在页面div上调用.trigger("create")
,而是在页面div中创建一个div(例如。<div id="insideThePageDiv">
)并为内部div调用.trigger("create")
(例如{{1} }})。