在使用jquery Mobile加载页面之前是否有任何方法可以调用/显示Dialog或popup?
我希望在页面加载之前获得一些输入,并根据输入下一页将加载
答案 0 :(得分:2)
要在显示页面之前加载对话框或弹出窗口,您需要使用seTimeout
。如果你没有延迟地打电话,它会立即打开和关闭。
$(document).on('pagebeforeshow', '#pageID', function() {
setTimeout(function () {
$('#popupID').popup('open');
}, 100); // delay above zero
});
<强> Similar issue. 强>
答案 1 :(得分:1)
您的问题有一个非常简单的解决方案,您只需要将第一页作为对话框。
工作示例:http://jsfiddle.net/Gajotres/dj3UP/1/
正如您在我的示例中所看到的,这是一个纯HTML解决方案。首页数据角色属性已更改为对话框。
HTML:
<!DOCTYPE html>
<html>
<head>
<title>jQM Complex Demo</title>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no; target-densityDpi=device-dpi"/>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
<div data-role="dialog" id="index">
<div data-theme="a" data-role="header">
<h3>
First Page
</h3>
</div>
<div data-role="content">
<input type="text" value="" id="some-input"/>
<a data-role="button" id="some-button" href="#second">Next page</a>
</div>
<div data-theme="a" data-role="footer" data-position="fixed">
</div>
</div>
<div data-role="page" id="second">
<div data-theme="a" data-role="header">
<h3>
Second Page
</h3>
<a href="#index" class="ui-btn-left">Back</a>
</div>
<div data-role="content">
</div>
<div data-theme="a" data-role="footer" data-position="fixed">
</div>
</div>
</body>
</html>
答案 2 :(得分:0)
试试以下内容:
$.mobile.loading( 'show', {
text: 'foo',
textVisible: true,
theme: 'z',
html: ""
});
参考链接: