andleer 是正确的,不要在 jQM 中使用 toggle(),它不是必需的。创建 jQM 对话框以用作单独的页面。看看这个例子:
<div data-role="page" id="index">
<div data-theme="a" data-role="header">
<h3>
First Page
</h3>
<a href="#second" class="ui-btn-right">Next</a>
</div>
<div data-role="content">
<a href="#" data-role="button" id="open-button">Open dialo</a>
</div>
<div data-theme="a" data-role="footer" data-position="fixed">
</div>
</div>
<!-- DIALOG BOX -->
<div data-role="page" id="dialog-box" data-theme="b">
<div data-role="header">
<h1>Warning</h1>
</div>
<div data-role="content">
<h3 id="dialog-msg">
Dialog test
</h3>
<a href="#" data-role="button" id="close-button">
Close dialog
</a>
</div>
</div>
如果可能的话,你应该打开这样的对话框:
$.mobile.changePage('#dialog-box', {transition: 'pop', role: 'dialog'});
如果您正在动态更改对话框内容,则必须在其上触发 pagecreate 以正确重新设置样式:
$('#dialog-box').trigger("pagecreate");
这是一个完整的 jsFiddle 示例:http: //jsfiddle.net/Gajotres/fXzWj/