JQuery Mobile:页面初始化事件的麻烦

时间:2013-04-15 13:32:11

标签: jquery-mobile jquery openlayers

我在JQuery Mobile网站上初始化事件时遇到了一些问题,我只是想看看我是否正确地进行了这项工作。这是我的代码有点像:

<!DOCTYPE html>
<html>
    <head>
        <title>My page</title>

        <link rel="stylesheet" href="jquery.mobile-1.3.0-beta.1.css" />
        <script src="jquery-1.9.0.js"></script>
        <script src="jquery.mobile-1.3.0-beta.1.js"></script>
        <script text/javascript>
            function myFunction()
            {
                //do some code
            }
        </script>
        </head>
        <body>
            <div data-role="page" id="home">
                <div data-role="header">
                    <h1>Home</h1>
                </div>

                <div data-role="content" data-theme="f">
                    <p><a href="#next-page" data-role="button" data-transition="fade">2nd page</a></p>        
                </div>
            </div>
            <div data-role="page" id="next-page">
                <div data-role="header">
                    <h1>2nd page</h1>
                </div>
                <div data-role="content" data-theme="f">
                    <script text/javascript>
                        $("#next-page").on("pageinit", function() {
                            myFunction();
                        });
                    </script>
                </div>
            </div>
        </body>
</html>

出于某种原因,当我加载第二页时,我只是获得了AJAX加载图标,它并没有停止加载。

另一件事是,我不想在加载第二页之前调用myFunction(),这就是为什么我在第二页内有脚本。

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

Javascript是关键敏感的,如果你调用函数 myfuncion(),则必须存在相同的函数。

在您的情况下,您的函数名称中包含一个大F: myFunction(),因为调用函数myfuncion()不存在浏览器将报告错误,jQuery Mobile将停止执行。

另一方面,这段代码:

$("#next-page").on("pageinit", function() {

});
如果要在第二页初始化期间执行此功能,

是可以的。 Jzst一点建议,改为:

$(document).on("pageinit", "#next-page",function() {

});

编辑:

要解决您的问题,请使用pageshow事件替换pageinit事件。 jQuery Mobile在处理其他“图形”框架(地图,轮播)时遇到问题 它们通常只在pageshow事件中起作用。

$(document).on("pageshow", "#next-page",function() {

});