2013-03-08 57 views
0

我的应用程序中有一个初始init页面,它充当入口点并加载我的登录页面。Jquery Mobile - 页面加载时禁用对话框?

<!DOCTYPE html> 
<html> 
<head> 
<title></title> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-  1.3.0.min.css" /> 
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script> 
</head> 
<body> 

<!-- initialse and load the application --> 
<div data-role="page" id="init"> 

    <script type="text/javascript"> 
    $('#init').live('pageinit', function() { 
     window.location.href="views/login.html"; 
    }); 
    </script> 

</div> 

</body> 
</html> 

当我的登录页面加载时,有一个按钮用于加载对话框。此按钮最初不起作用,只在手动刷新页面时加载对话框。为什么会发生这种情况,我能做些什么来在页面加载时立即启用按钮/对话框。

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" /> 
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>  
</head> 
<body> 

<!-- login page --> 
<div data-role="page" id="login"> 

<!-- css --> 
    <link rel="stylesheet" href="../css/global.css" /> 
    <link rel="stylesheet" href="../css/login.css" /> 
<!-- page markup -->  
    <div data-role="header"> 
    <a href="#settings_dialog" data-rel="dialog" data-role="button" data-mini="true" data-inline="true" data-icon="gear" data-theme="b">Settings</a> 
    </div> 

</div> 
<!-- end of page --> 


<!-- settings dialog page --> 
<div data-role="dialog" id="settings_dialog"> 

<!-- page markup --> 
    <div data-role="header" style="text-align: left;"> 
    <a href="" data-rel="back" data-role="button" data-icon="delete" data-iconpos="notext" data-iconpos="left" data-inline="true"></a> 
    </div> 

    <div data-role="content"> 

    </div> 

</div> 
<!-- end of page --> 

</body> 
</html> 

回答

0

不知道,如果你已经解决了这个问题,但它似乎有什么东西做的DOM缓存& AJAX。

我不确定你会怎么做,但尝试在窗口重新加载时设置ajax: false。或者你可以通过服务器端重定向(我推荐这样做,因为如果用户关闭了JS,它仍然可以工作

为什么我认为这是因为我有一个页面上有一个列表, (#settings_dialog)在每个列表项目上设置data-ajax="false"以某种方式'刷新'DOM并强制第二页加载'新鲜',瞧 - 我的对话框工作100%

因此,简而言之,关闭AJAX功能或(更好)重定向从服务器端&开心!

相关问题