0

我在一个页面中有两个对话框。

<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 回答