0

[戻る] ボタンを押した後、JQuery モバイル ダイアログが正しく表示されない。

  1. 初めての実行

    ここに画像の説明を入力

  2. ダイアログを開くボタンをクリックします

    ここに画像の説明を入力

  3. 戻るボタンをクリックしました

    ここに画像の説明を入力

  4. ダイアログを開くボタンをもう一度クリックします

    ここに画像の説明を入力

[戻る] ボタンをクリックすると、ダイアログ ページのコンテンツが元のページにコピーされます。これは、jquery-ui を追加した後に発生します。jquery モバイル ダイアログと jquery ui の間に競合があるようです。または、ダイアログの内容が数行だけであれば正常です。

ここに私のコードがあります: 1.ページから

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta charset="utf-8" />
    <title></title>
    <meta name="viewport" content="width=device-width" />
    <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/themes/smoothness/jquery-ui.css" />
    <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.css" />
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.js"></script>
</head>

<body>
    <div data-role="page" class="jqm-demos" data-quicklinks="false" id="page1" style="height:600px">
        <div data-role="header" class="jqm-header">
            <h2> Test </h2>
        </div><!-- /header -->

        <div role="main"
             class="ui-content jqm-content" id="mainContent">
            <form action="/Test/TestDialog" id="form10" method="post">
                <div data-role="controlgroup"
                     data-type="horizontal" data-mini="true">
                    <a id="btnAdd" onclick="rowEdit2({ href:'/Test/TestDialogPage' + '?cmd=' })" class="ui-shadow ui-btn ui-corner-all ui-btn-icon-left ui-icon-plus">open Dialog by script</a>
                    <a href='/Test/TestDialogPage' class="ui-shadow ui-btn ui-corner-all ui-btn-inline" data-transition="pop">Open dialog</a>
                </div>
            </form>
        </div><!-- /content -->
    </div>
</body>
</html>
<script>
function rowEdit2(p) {
 var href = p.href;
 $.mobile.changePage(href);
}
</script>

2.ダイアログページ

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Test Dialog</title>
</head>
<body>
    <div id="TestInfoDialog" data-role="dialog">
        <div data-role="header" data-position="fixed">
            <a data-rel="back" data-icon="back">Back</a>
            <h2>Test Dialog</h2>
        </div>

        <div class="ui-content" role="main">
            <form id="TestInfoForm">
                <div>
                    <label for="test1">test1</label>
                    <input id="test1" name="test1" type="text" value="" />
                    <label for="test1">test1</label>
                    <input id="test1" name="test1" type="text" value="" />
                    <label for="test1">test1</label>
                    <label for="test1">test1</label>
                    <label for="test1">test1</label>
                    <input id="test1" name="test1" type="text" value="" />
                    <label for="test1">test1</label>
                    <input id="test1" name="test1" type="text" value="" />
                    <label for="test1">test1</label>
                    <label for="test1">test1</label>
                    <label for="test1">test1</label>
                    <input id="test1" name="test1" type="text" value="" />
                    <label for="test1">test1</label>
                    <input id="test1" name="test1" type="text" value="" />
                    <label for="test1">test1</label>
                    <label for="test1">test1</label>
                    <label for="test1">test1</label>
                    <input id="test1" name="test1" type="text" value="" />
                    <label for="test1">test1</label>
                    <input id="test1" name="test1" type="text" value="" />
                    <label for="test1">test1</label>
                    <label for="test1">test1</label>
                </div>
            </form>
        </div>

    </div>

</body>
</html>
4

0 に答える 0