我正在关闭一个弹出式对话框,然后按我打开另一个弹出窗口:
$( "#iece" ).popup( "close" );
$( "#popupMatricula" ).popup( "open" );
我也试试:
$(function() {
$( "#iece" ).bind({
popupafterclose: function(event, ui) {
$( "#popupMatricula" ).popup( "open" );
}
});
});
但#popupMatricula永远不会打开。
答案 0 :(得分:7)
我已经看到,如果没有直接用链接打开弹出窗口总是需要一些延迟...请参阅此工作示例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>popup</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<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/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset= ISO-8859-5">
</head>
<body>
<div data-role="page" id="myPage">
<div data-role="content">
<h1>Popup</h1>
<div data-role="popup" id="popupBasic">
<p>This is a completely basic popup, no options set.</p>
</div>
<div data-role="popup" id="popupMatricula">
<p>This is the Matricula popup.</p>
</div>
</div>
<script>
$(document).bind('pageinit', function() {
setTimeout(function(){
$("#popupBasic").popup();
$("#popupBasic").popup("open");
}, 100);
setTimeout(function(){
$("#popupBasic").popup("close");
}, 3000);
setTimeout(function(){
$("#popupMatricula").popup();
$("#popupMatricula").popup("open");
}, 3100);
});
</script>
</div>
</body>
</html>
编辑:Firefox需要短暂的延迟,但@Jasper测试{* 3}}不适用于Chrome和Android浏览器
答案 1 :(得分:4)
要打开弹出窗口,您需要先关闭任何打开的弹出窗口,然后将另一个开口绑定到popupafterclose
事件!
$("#loading_popup").on("popupafterclose", function () {
//any action you want like opening another popup
onloadpopupOpen();
})
快乐的编码!
答案 2 :(得分:1)
在关闭prev时打开另一个弹出窗口。我使用popupafterclose事件。
$(".selector").on("popupafterclose", function ()
{
//any action you want like opening another popup
setTimeout(function()
{
$('#popup').popup('open');
}, 100);
});
基于泰丰解决方案