web-dev-qa-db-ja.com

プログラムでjQuery Mobileポップアップを開き、5秒後に閉じる方法

プログラムでjQuery Mobileポップアップを開き、数秒後にそれを閉じたいのですが、これが私のコードです。

何か問題がありますか、表示したいものが得られません。

$( "#p" ).popup( "open" ); 
setTimeout( function(){ $( "#p" ).popup( "close" ); }, 5000 );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js"></script>

<div data-role="popup" id="p" data-position-to="window" data-transition="turn"><p>This is a completely basic popup, no options set.</p></div>

JSFIDDLEデモ

9
Yasser B.

JQMがポップアップウィジェットを初期化するように、コードがpagecreateなどのページイベントハンドラー内にあることを確認してください。

<div data-role="page" id="page1">
     <div data-role="header">
        <h1>My page</h1> 
    </div>  
    <div role="main" class="ui-content">
        <button id="btnpopup">Show Dynamic Popup</button>
    </div> 

    <div data-role="popup" id="p" data-position-to="window" data-transition="turn"><p>This is a completely basic popup, no options set.</p></div>
</div>  

$(document).on("pagecreate","#page1", function(){ 
    $("#btnpopup").on("click", function(){
        $("#p").popup("open"); 
        setTimeout(function(){  $("#p").popup("close"); }, 5000);
    });
});

動作しています[〜#〜] demo [〜#〜]

14
ezanker

それは実際には簡単です:

 $("#chatWindow").popup("open");
7
Amir