Jquery Mobile - $(文件)。还没有开火

时间:2011-09-14 19:58:02

标签: javascript jquery html5 jquery-mobile

所以我有一个listview,其中每个组件都连接到一个on click函数,如下所示:

function launchNewPage() {
    $.mobile.changePage( "newPage.html", { transition: "slide"} );
}

我遇到的问题与下一页有关。该页面显示正常,但没有任何资源正在加载。当我在firebug中检查页面时,没有加载任何必要的JS文件。最重要的是,它似乎不会执行$(document).ready函数。有没有人对我做错了什么有任何见解?对不起,我对JQ有点新鲜......提前谢谢。

请求的HTML:

<!DOCTYPE html> 
<html>
<head> 
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1"> 
    <title></title> 

    <link rel="stylesheet" href="CSS/JqueryMobile.css" />
    <link rel="stylesheet" href="CSS/theme.css" />  
    <link rel="stylesheet" href="CSS/JQM-DatePicker.css" /> 

    <script type="text/javascript" src="JS/jquery-1.6.2.js"></script>
    <script type="text/javascript" src="JS/JqueryMobile.js"></script>       
    <script type="text/javascript" src="JS/JQM-DatePicker.js"></script>

    <script type="text/javascript" src="JS/mockjax.js"></script>    
    <script type="text/javascript" src="JS/soyutils.js"></script>
    <script type="text/javascript" src="JS/fields.js"></script>
    <script type="text/javascript" src="JS/JSDictionaryObject.js"></script>
    <script type="text/javascript" src="JS/AddingForm.js"></script>
</head> 
<body> 
    <div id="page" data-role="page" data-theme="x">
        <div class="ui-body-x" data-role="header" data-position="fixed">
            <h1 class="ui-header-style" style="text-align:left; margin-left:10px;">Add New Record</h1>
            <div data-type="horizontal"  class="ui-btn-right ui-button-group"> 
                <a id="cancelButton" href="http://www.google.com" data-role="link"  data-ajax="false">Cancel</a>
                <a id="submitButton" form="f" class="ui-btn-up-x" onClick="javascript:return submitPressed();"data-role="button" data-icon="" data-ajax="false">Submit</a> 
            </div>              
        </div><!-- /header -->

        <div data-role="content" data-theme="x">

            <form  id="f" src="#"></form>       
        </div><!-- /content -->

    </div><!-- /page -->

</body>

2 个答案:

答案 0 :(得分:5)

你无法使用$(document).ready()启动jQuery mobile,你应该这样开始:

尝试在第一个HTML中使用它

$("div[data-role*='page']").live('pageshow', function(event, ui) { 
    document.location.href="newPage.html";
});

答案 1 :(得分:3)

Geoff,如果您使用的是JQM框架的Beta 3版本read this。它将有助于阐明DOM和$(文档).ready()。您可能需要考虑“pagecreate”和“pagebeforecreate”事件。它们在上述链接中引用的文档中进行了描述。