我的页面有一个对话框,我通过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
中工作得很好先谢谢。
答案 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>