Jquery mobile 如何关闭弹出对话框页面并从代码中打开另一个?

Jquery mobile 如何关闭弹出对话框页面并从代码中打开另一个?,jquery-mobile,Jquery Mobile,我正在关闭一个弹出对话框,然后打开另一个弹出对话框,如: $(“#iece”)。弹出(“关闭”); $(“popupMatricula”).popup(“打开”); 我还尝试: $(函数(){ 美元(“#iece”).bind({ popupafterclose:函数(事件,ui){ $(“popupMatricula”).popup(“打开”); } }); }); 但是#popupMatricula永远不会打开。我已经看到,如果不直接用链接打开,弹出窗口总是需

我正在关闭一个弹出对话框,然后打开另一个弹出对话框,如:

$(“#iece”)。弹出(“关闭”);
$(“popupMatricula”).popup(“打开”);
我还尝试:

$(函数(){
美元(“#iece”).bind({
popupafterclose:函数(事件,ui){
$(“popupMatricula”).popup(“打开”);
}
});              
});

但是#popupMatricula永远不会打开。

我已经看到,如果不直接用链接打开,弹出窗口总是需要一些延迟。。。请参见此工作示例

<!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>

弹出窗口
弹出窗口
这是一个完全基本的弹出窗口,没有设置选项

这是Matricula弹出窗口

$(document).bind('pageinit',function(){ setTimeout(函数(){ $(“#popubase”).popup(); $(“#popubase”).popup(“打开”); }, 100); setTimeout(函数(){ $(“#popubase”).popup(“close”); }, 3000); setTimeout(函数(){ $(“#popupMatricula”).popup(); $(“popupMatricula”).popup(“打开”); }, 3100); });
编辑:短延迟对于Firefox来说是必要的,但对于Chrome和Android浏览器来说不是必要的,因为@Jasper在较新版本的JQM中测试了

,它是固定的! 要打开弹出窗口,您需要先关闭任何打开的窗口,然后像这样将另一个窗口的打开绑定到
popupafterclose
事件

    $("#loading_popup").on("popupafterclose", function () {
            //any action you want like opening another popup
            onloadpopupOpen();

    })

快乐编码

关闭上一页时打开另一个弹出窗口。我使用popupafterclose事件

$(".selector").on("popupafterclose", function ()
{
        //any action you want like opening another popup
         setTimeout(function()
         {
            $('#popup').popup('open');
         }, 100);
});
基于Taifun解决方案