0

我有一个 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;默认包含在其中。

4

1 回答 1

-1

尝试添加return false;到您的 onclick

<a id="close" onclick="$('.ui-dialog').dialog('close'); return false;" data-rel="dialog" data-role="button">OK</a>

否则将不会阻止默认链接操作

于 2012-04-23T19:17:47.027 回答