Jquery移动对话框只在chrome和opera中关闭一次

时间:2014-01-08 11:08:21

标签: google-chrome jquery-mobile opera

我的页面有一个对话框,我通过javascript动态显示它。它在IE,FF,Safari中工作正常但在chrome和opera中没有。如果这是一个已知的错误并且有解决方法让我知道,如果您需要更多规范,我会发布代码。

这是对话框: -

<div id="infoDialog" data-role="page" data-overlay-theme="b">
    <div id="headerConfirmation" data-role="header" data-theme="b">
        <h1>Invalid Action</h1>
    </div>
    <div id="contentConfirmation" data-role="content" data-theme="b">
    <p>Please increase the adults count first</p>
    <a href='#' onclick='$(".ui-dialog").dialog("close");' data-role='button' data-theme='c'>Close</a>
    </div>

此对话框正在通过此

加载到Iframe的正文中
jQuery.getJSON(url, function(data) {
         $("body").html(data["html"]);

这就是我通过Javascript加载它的方式

$.mobile.changePage("#infoDialog", { transition: "pop",role: "dialog" });

这里的代码太复杂了,这在IE,FF,Safari

中工作得很好

先谢谢。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题的想法。当我导航到另一个页面并再次返回时,问题就解决了。然后每次都会正确关闭对话框。所以我在所有jquery移动库之前添加了这段代码: -

$("#firstLoad").bind("pagecreate",function()
    {
        $.mobile.changePage("#selectDates"); 

    });

然后像这样添加一个虚假的jquery移动页面 : -

<div id="firstLoad" data-theme="c" data-role="page" >
<!-- <div id="firstLoadHeader" data-role="header">
        <h1>Welcome</h1>
</div>
<div id="contentSelectDates" data-role="content">
</div>
<div id="footerSelectDates" data-role="footer">
    <h1>Travel Gateway</h1>
</div> -->
</div>

所以我想要展示的实际页面是在此之后。 : -

<div id="selectDates" data-theme="c" data-role="page">
    <div id="headerSelectDates" data-role="header">
        <h1>Select Dates</h1>
    </div>
    <div id="contentSelectDates" data-role="content">
            </div>
            </div>