3

ポップアップは本当にバグがあるようです (リリースの準備ができていません)。popups close イベントは、それが閉じられた場合に発生します (想定どおり)。ただし、別のページ (複数ページ レイアウト) に切り替えた場合にも発生します。これはまったく起こらないはずです。ポップアップを一度も開いたことがないかもしれませんが、それでもページを切り替えると close イベントが発生します (どうやってそれを見逃したのでしょうか?)。

また、ポップアップのクローズ イベントから $.mobile.changePage(../schedule.html); を使用して前のページに戻ろうとしています。しかし、ポップアップの close イベントでこれを行うと、非常に奇妙なことが起こります。したがって、このコード:

$( "#somepage #popupstatus" ).bind({
    popupafterclose: function(event, ui) 
    {
        console.log('closing popup');
        if (isPopupVisible)
        {
            isPopupVisible=false;
            //do stuff
            $.mobile.changePage('../schedule.html');
        }       
    }
});

前のページに戻ります...その後、このページに再びジャンプします。なんで?これは別のバグですか?他の誰かがこの問題を抱えていましたか?

4

2 に答える 2

2

ポップアップに確認ボタンが表示されるという同様の問題が発生していました。ページを変更する前に、ポップアップを閉じる必要があると考えました。どうやら、ページを変更するだけでポップアップも閉じます。私はから行きました:

$('#confirm_status').popup('close');
self.loadWorkOrders();
$.mobile.changePage('#work_orders');

に:

self.loadWorkOrders();
$.mobile.changePage('#work_orders');

そして今、それは正しく機能しています。

于 2013-01-03T19:59:58.413 に答える
0

同様の問題が発生しています。

ページ 1 (リスト ページ) がページ 2 (詳細ページ) に遷移し、ユーザーがボタンをクリックして Ajax-POST が成功した後にポップアップが開きます。ポップアップを閉じると、ページ 1 への changePage が発行されます。これにより、再度ページ 2 に移動したときに popupafterclose イベントが発生しました。

上記のイベントで単純なブール値チェックを使用してこれを防止すると (POST が発行されたときに true に設定され、ポップアップが開かれたときに false に設定されます)、他の奇妙な動作が発生します - ページ 1 からページ 2 への最初の遷移は、ほぼ常に再実行されました。そのため、ユーザーには常に 2 つのトランジションが表示されます。ポップアップが閉じられた後に意図したページ 1 へのトランジションと、その直後に再びページ 1 からページ 2 へのトランジションです。

この時点で私はあきらめました。ポップアップの代わりにダイアログを使用しようとしています。

于 2012-10-31T14:30:01.507 に答える