3

私のサイトはHTML5、CSS3、Jquery-moblieで構築されています。

Jquery-mobileのポップアップを使用しています。

ポップアップウィンドウには、現在のポップアップウィンドウを閉じて、別のポップアップウィンドウを開くボタンがあります。

私はそれをこのように試しました:

ポップアップウィンドウ:

    <div id="MyFirstPopup" data-role="popup" data-theme="a" data-overlay-theme="a" class="ui-content">
        <a  data-role="button" data-transition="none" data-theme="b"
            onclick="ShowSecond();" data-icon="forward" data-iconpos="left" >
        </a>
    </div>

    <div id="MySecondPopup" data-role="popup" data-theme="a" data-overlay-theme="a" class="ui-content">
     ...
    </div>

JS:

function ShowSecond()
{
   $('#MyFirstPopup').popup('close');
   $('#MySecondPopup').popup('open');
}

それは動かなかった。

誰かが解決策を持っていますか?

4

2 に答える 2

2

まず、 onclick = "ShowSecond();"を使用しないでください タグに直接。

私はあなたに実用的な例を作成しました:http://jsfiddle.net/Gajotres/8Arrt/

次のようなクリックイベントを追加します。

 $('#popup-button').live('click', function(e) {
     setTimeout(function(){$('#MySecondPopup').popup('open');},500)
     $('#MyFirstPopup').popup('close');
});

または、新しいjQueryライブラリを使用している場合は.on(を使用します。古いポップアップを閉じない限り新しいポップアップを開くことはできませんが、最後のポップアップを閉じる場合は今すぐポップアップを開くこともできないため、setTimeout関数が必要です。タイムアウトを設定します。必要/欲しい。

于 2012-12-27T12:22:28.553 に答える
1

これを試して:

<div id="MyFirstPopup" data-role="popup" data-theme="a" data-overlay-theme="a" class="ui-content">
    <a id="btOpenSecPopup" data-role="button" data-transition="none" data-theme="b"
        onclick="ShowSecond();" data-icon="forward" data-iconpos="left" >
    </a>
</div>

<div id="MySecondPopup" data-role="popup" data-theme="a" data-overlay-theme="a" class="ui-content">
 ...
</div>

あなたのjsファイル

$('#btOpenSecPopup').live('click', function(e) {
    $('#MyFirstPopup').popup('close');
    $('#MySecondPopup').popup('open');
}
于 2012-12-27T12:25:58.673 に答える