0

ページに 2 つのダイアログがあります。

<div data-role="page" id="connect" data-id="connect">
<div id="header-connect" data-role="header" data-id="bs_header" data-theme="a">
    <h1>{t}Connect{/t}</h1>
</div>
<div data-role="content">
    <ul data-role="listview">
        <li><a href="#test" data-rel="dialog">Test</a></li>
    </ul>
</div>
</div>

<div data-role="page" id="test" data-id="test">
    <div id="header-test" data-role="header" data-id="bs_header" data-theme="a">
        <h1>{t}Test{/t}</h1>
    </div>
    <div data-role="content">
       <a href="#" data-rel="back">Back</a>
       <a href="javascript:;" onclick="$('.ui-dialog').dialog('close');">Close</a>
    </div>
</div>

最初のものを JavaScript で閉じようとすると、Chrome と Chrome Mobile では機能しませんが、Firefox では機能します。Jquery Mobile 1.0.1 を使用しています。

何かアドバイスはありますか?

4

2 に答える 2

1

私はそれを使用してそれを解決することができました

$('*[data-icon="delete"]').on("click",function(){
   $('.ui-dialog').dialog('close');
});

ダイアログコード内...悪い解決策ですが、私の場合はそれが唯一のダイアログだったのでうまくいきましたが、あなたにも役立つかもしれません。

于 2013-02-18T11:30:08.047 に答える
0

このようなイベントを使用して解決策を見つけます:

('#connect').live('pagehide', function(){
if (id_dialog_page != '') {
    $.mobile.changePage('#'+id_dialog_page, {role: 'dialog'});
}
id_dialog_page = '';
});

また、新しいダイアログモーダルボックスを開く前に、#connectを強制的に閉じます。ターゲットのモーダルボックスは変数によって検索されます。

于 2012-04-17T09:57:44.437 に答える