如何在jquery移动页面上添加是/否对话框?

时间:2011-08-21 21:14:24

标签: jquery-mobile live jquery-ui-dialog alert

当我将$(document).ready({alert('it is ready')});添加到SiteMaster.master页面上的脚本代码中并使用此链接调用该页面时:http://192.168.1.66:90/Reminder/test.aspx#DialogChangeTag.aspx在我使用http://192.168.1.66:90/Reminder/DialogChangeTag.aspx链接调用它之前,我无法工作。

我在哪里弄错了? DialogChangeTag.aspx:

<%@ Page Title="" Language="C#" MasterPageFile="~/TekContent.master" AutoEventWireup="true"
    CodeFile="DialogChangeTag.aspx.cs" Inherits="DialogChangeTag" %>

<asp:Content ID="Content1" ContentPlaceHolderID="PageIdContent" runat="Server">
    <div data-role="page" id="delete_dialog" data-theme="b">
        <script type="text/javascript">
            $(document).ready(function () {
                alert("calis");
            }); 
        </script>
        <div data-role="content" data-theme="b">
            <h1>
                Delete Item?</h1>
            <p>
                Are you sure you want to delete this item?</p>
            <a href="#" class="delete-dialog-yes" data-role="button" data-theme="b">Yes</a>
            <a href="#" class="delete-dialog-no" data-role="button" data-theme="b">No</a>
        </div>
    </div>
</asp:Content>

Test.aspx文件

<%@ Page Title="" Language="C#" MasterPageFile="~/TekContent.master" AutoEventWireup="true"
    CodeFile="test.aspx.cs" Inherits="test" %>

<asp:Content ID="ContentPage" ContentPlaceHolderID="PageIdContent" runat="Server">
    <div data-role="page" id="pageTest">
        <div data-role="header" data-position="inline">
            <h1>
                TEST HEADER</h1>
        </div>
        <div data-role="content">
            <h2>
                TEST CONTENT</h2>
            <a href="DialogChangeTag.aspx" data-role="button" data-rel="dialog" data-transition="pop">
                Show Dialog</a>
        </div>
        <div data-role="footer" class="ui-bar" id="divFooterContainer">
            <h3>
                TEST FOOTER</h3>
        </div>
    </div>

1 个答案:

答案 0 :(得分:0)

可能是因为您的jQuery Mobile设置为使用AJAX。只有在浏览器中加载新页面时才会调用$(document).load()。这意味着当您使用基于AJAX的页面时,$(document).load()将不起作用。如果该页面仅使用AJAX加载,则解包$(document).load()将解决此问题。解决此问题的更好方法是使用不显眼的客户端代码。看看Backbone.js。