我正在使用JQuery mobile开发一个移动应用程序,我的对话框出现问题,每次我尝试关闭对话框(使用默认关闭按钮)时,应用程序都会冻结。
头代码:
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" /> <!-- JQuery Mobile CSS link -->
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <!-- JQuery Mobile link stored on CDN-->
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script> <!-- JQuery Mobile link stored on CDN -->
相对主页代码:
<p><a href="#register" data-role="button" data-rel="dialog" data-transition="pop">Register</a></p>
对话框代码:
<!-- Start of third page: #register -->
<div data-role="page" id="register">
<div data-role="header" data-theme="e">
<h1>Activation</h1>
</div><!-- /header -->
<div data-role="content" data-theme="d">
<h2>Licence Key</h2>
<p>Please enter your licence key in order to activate your additional features of 20Keys</p>
<div data-demo-html="true">
<div class="ui-field-contain">
<label for="licenseKey">Licence Key:</label>
<input type="text" name="licenseKey" id="key" placeholder="Insert Key" value="">
</div>
</div><!--/demo-html -->
</div><!-- /content -->
<div data-role="footer">
<p><a href="#one" data-role="button" data-inline="true" data-icon="lock">Activate Now</a>
<a href="#one" data-role="button" data-inline="true" data-icon="cancel">Cancel</a></p>
</div><!-- /footer -->
</div><!-- /page register -->
此时激活按钮(正在进行中)会返回主页。如果您发现任何可能导致此问题的原因,我将感谢您的评论。
当代码为:时,页脚按钮也出现了同样的问题
<p><a href="#one" data-rel="back" data-role="button" data-inline="true" data-icon="lock">Activate Now....</a>
<a href="#one" data-rel="back" data-role="button" data-inline="true" data-icon="cancel">Cancel</a></p>
为了解决这个问题,我不得不删除data-rel="back"
。
我正在使用Chrome浏览器,如果这有助于回答这个问题的话。提前谢谢。
我发现了问题所在。。。
您不能在对话框页面中使用datarel="back",因为从技术上讲,对话框页面没有可返回的页面,因为它会像新选项卡一样弹出。
解决我的问题的正确方法是,要么只使用href="#one",要么可能使用data rel="close",而不是使用data rel="back"。