jQuery Mobile pageinit无法在第一个加载页面上工作(可复制)

时间:2012-08-27 06:52:31

标签: javascript jquery-mobile javascript-events jquery

重新加载页面或直接导航到jQuery Mobile哈希URL不会触发pageinit甚至一次。例如,我在我的辅助页面上尝试过这个:

    $(function () {
        $(page).bind('pageinit', function () {
            console.log('bind pageinit');
        });
        $(document).on('pagecreate', page, function () {
            console.log('pagecreate');
        });
        $(document).on('pageshow', page, function () {
            console.log('pageshow');
        });
        $(document).on('pageinit', page, function () {
            console.log('pageinit');
        });
    });

在第一页上,我点击进入第二页,上面的生命周期被写入控制台。该URL还附加了#two。这很好,但是当转到另一台机器上的链接时,页面init不会触发。似乎只有一个按钮点击就可以触发页面初始化。

我在这里有一个实例:http://dl.dropbox.com/u/5986646/jqm-pageinit.html。将其粘贴到URL中并且事件不会触发:http://dl.dropbox.com/u/5986646/jqm-pageinit.html#two(注意哈希URL)。

1 个答案:

答案 0 :(得分:3)

是的,我遇到了同样的问题。

要在页面init上执行一些javascript代码,请使用以下结构:

$(document).bind("mobileinit", function(){
    $('#mainPage').live('pageshow', function(){
        // Some Javascript code
    });
});

现在我可以在调用页面的所有时间执行代码。