JQuery Mobile今晚正在呐喊。我正在尝试构建自定义控件,所以我不会通过我的应用重复某些元素,这给我一个困难的时刻。具体来说,我在HTML文件中有以下内容:
<div id="custom-header" data-role="header" data-position="inline" data-theme="f"> <a href="index.html" data-icon="back" style="margin-top:5px" data-theme="b">Back</a> <div style="text-align: center; padding-top: 5px; padding-bottom: 3px"><img src="../images/logo.png" ></div> <a href="index.html" data-icon="home" style="margin-top:5px" data-theme="b">Home</a> </div>
在我的主要文件中,我基本上是这样做的:
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script src="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.js"></script> <div data-role="page" id="test-console" data-theme="m"> <div id="me-header"></div> <script> $.get('header.html',function (retData) { $('me-header').html(retData).trigger('create'); }); </script> </div>
所以这里的问题 – 标题没有渲染与将粘贴到我的JQM页面中的header.html的内容一样。几乎感觉像触发器(“创建”)没有做任何事情。
有任何想法吗?我烧了大约三个小时,像http://jquerymobiledictionary.pl/faq.html这样的教程似乎不适用..
解决方法
更改页眉,页脚或内容时,可以在页面上触发pagecreate:
$('#me-header').closest(":jqmData(role='page')").trigger('pagecreate');
这是一个jQM bug:https://github.com/jquery/jquery-mobile/issues/2703。
根据问题报告中的评论,多次呼叫pagecreate可能会导致问题,如https://github.com/jquery/jquery-mobile/issues/2703#issuecomment-4677293所述。