我有一个Jquery Mobile应用程序,其中的页面需要显示MessageBox对话框的等效项,以向用户显示消息。我得到对话框显示正常,但当对话框关闭时,调用它的页面重新加载。我只是希望对话框消失而不对调用它的主页做任何事情。这是一个问题,因为此主页面可能已经由用户选择了选项,并且此刷新会清除选项。
这是我显示对话框的测试代码:
<a href="/Dialogs/ListError.htm" data-role="button" data-inline="true" data-rel="dialog" data-transition="pop">Open dialog</a>
对话框的html位于单独的页面中:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<title>Page Title</title>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>Search</h1>
</div>
<div data-role="content">
<p>You must select a Location.</p>
<p><a id="close" onclick="$('.ui-dialog').dialog('close');" data-rel="dialog" data-role="button">OK</a></p>
</div>
</div>
</body>
</html>
如果它很重要,我正在使用VS2010 MVC Razor 3移动模板,该模板使用_layout.cshtml文件,默认情况下在其中$.mobile.ajaxEnabled = false;
。
答案 0 :(得分:-1)
尝试将return false;
添加到您的onclick
<a id="close" onclick="$('.ui-dialog').dialog('close'); return false;" data-rel="dialog" data-role="button">OK</a>
否则将无法阻止默认链接操作