3

ポップアップ ダイアログを閉じて、次のような別のポップアップを開きます。

$( "#iece" ).popup( "close" );
$( "#popupMatricula" ).popup( "open" );

私も試します:

       $(function() {
            $( "#iece" ).bind({
               popupafterclose: function(event, ui) {                         
                    $( "#popupMatricula" ).popup( "open" );
               }
            });              
        });

しかし、#popupMatricula は開きません。

4

3 に答える 3

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>

編集:@Jasperがここでテストしたように、Firefoxには短い遅延が必要ですが、ChromeおよびAndroidブラウザーには必要ありません

于 2012-11-05T21:15:32.980 に答える
4

JQM の新しいバージョンでは修正されています。

ポップアップを開くには、最初に開いているものを閉じてから、このように他の開口部をpopupaftercloseイベントにバインドする必要があります!

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

    })

ハッピーコーディング!

于 2014-05-08T08:47:06.277 に答える
1

前のポップアップを閉じている間に別のポップアップを開くには。popupafterclose イベントを使用します。

$(".selector").on("popupafterclose", function ()
{
        //any action you want like opening another popup
         setTimeout(function()
         {
            $('#popup').popup('open');
         }, 100);
});

Taifun ソリューションに基づく

于 2014-05-22T14:29:24.410 に答える