Jquery Mobile Dialog不会关闭chrome

时间:2012-04-16 15:37:41

标签: google-chrome jquery-mobile

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

<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。

你有什么建议吗?

2 个答案:

答案 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。目标模态框由变量查找。