我在页面中有两个对话框。
<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。
你有什么建议吗?
答案 0 :(得分:1)
我设法使用
来解决它$('*[data-icon="delete"]').on("click",function(){
$('.ui-dialog').dialog('close');
});
在对话框代码中......糟糕的解决方案但对我有用,因为它是我案例中唯一的对话框,但也可能对你有帮助。
答案 1 :(得分:0)
我们使用这样的事件找到解决方案:
('#connect').live('pagehide', function(){
if (id_dialog_page != '') {
$.mobile.changePage('#'+id_dialog_page, {role: 'dialog'});
}
id_dialog_page = '';
});
在打开新的对话框模式框之前,我们还强制关闭#connect。目标模态框由变量查找。